☰ INDEX
All_Recent_Updates_2021-Previous_Year_Questions
Allied_Health_Disciplines-ESI_Act__Factory_Act__NREGA_Act_and_Disaster_Management
Allied_Health_Disciplines-Occupational_health
Allied_Health_Disciplines-Previous_Year_Questions
Biomedical_Waste_Management-Biomedical_waste_management_and_Genetics_and_Health
Biomedical_Waste_Management-Previous_Year_Questions
Biostatistics-Biostatistics_and_Measures_of_Central_Tendency
Biostatistics-Previous_Year_Questions
Biostatistics-Types_of_Dispersion__Distribution__and_Errors
Communicable_and_Non-communicable_Diseases-Acute_Respiratory_Infection_and_Tuberculosis
Communicable_and_Non-communicable_Diseases-Chicken_Pox__Small_Pox_and_Diphtheria
Communicable_and_Non-communicable_Diseases-Dengue__Malaria__and_Rabies
Communicable_and_Non-communicable_Diseases-Filariasis__Leptospirosis__Japanese_Encephalitis__and_Helminthic_Infections
Communicable_and_Non-communicable_Diseases-Infectious_Epidemiology
Communicable_and_Non-communicable_Diseases-Mumps__Measles__Rubella__Pertussis
Communicable_and_Non-communicable_Diseases-Plague__Tetanus__HIV_AIDS__Rickettsial_Disease__Ebola__Nipah_and_Zika_Virus
Communicable_and_Non-communicable_Diseases-Polio__Hepatitis__Diarrhoea__Cholera___Typhoid
Communicable_and_Non-communicable_Diseases-Previous_Year_Questions
Concept_of_Health_and_Disease-Concept_of_Disease___Well-Being
Concept_of_Health_and_Disease-Disease_Control__Monitoring_and_Surveillance
Concept_of_Health_and_Disease-Health_Indicators
Concept_of_Health_and_Disease-Previous_Year_Questions
Demography_and_Health-Demography_and_Health
Demography_and_Health-Previous_Year_Questions
Environment_and_Health-Air__Light__Sound__and_Radiation
Environment_and_Health-Entomology
Environment_and_Health-Previous_Year_Questions
Environment_and_Health-Water-_Introduction_and_Purification
Epidemiology-Basics_of_Epidemiology
Epidemiology-Bias_and_confounders
Epidemiology-Previous_Year_Questions
Epidemiology-Study_Designs_in_Epidemology
Epidemiology-Systematic_Review__Meta-Analysis__and_Evidence-Based_Studies
Family_Planning_and_Contraceptives-Family_Planning_and_Contraceptives
Family_Planning_and_Contraceptives-Previous_Year_Questions
Health_Care_of_The_Community_in_India-Healthcare_of_Community_and_Health_Delivery_Systems
Health_Care_of_The_Community_in_India-Previous_Year_Questions
Health_Education_and_Communication-Health_Education_and_Communication
Health_Education_and_Communication-Previous_Year_Questions
Health_Planning_and_Management-Health_Planning_and_Management
Health_Planning_and_Management-Previous_Year_Questions
International_Health-International_health
International_Health-Previous_Year_Questions
Miscellaneous-Previous_Year_Questions
National_Health_Programs-Blindness_control_program__NLEP__Health_programs_misc_
National_Health_Programs-Endgame_strategy_and_national_polio_surveillance_program
National_Health_Programs-NACP_global_initiatives
National_Health_Programs-NCDS___NPCDS
National_Health_Programs-NVBDCP
National_Health_Programs-National_TB_Elimination_Program__NTEP_
National_Health_Programs-National_health_mission_RMNCH_-_A___maternal_initiatives__Child_and_adolescents_health_initiatives
National_Health_Programs-Previous_Year_Questions
Nutrition_and_Health-Food_Adulteration_and_Food_Fortification
Nutrition_and_Health-Macronutrients
Nutrition_and_Health-Micronutrients
Nutrition_and_Health-Previous_Year_Questions
Nutrition_and_Health-Recommended_Dietary_Allowances_and_Nutritional_Health_Programmes
Preventive_Medicine_in__Obstetrics__Pediatrics_and_Geriatrics-Preventive_Medicine_in_Obstetrics__Pediatrics_and_Geriatrics
Preventive_Medicine_in__Obstetrics__Pediatrics_and_Geriatrics-Previous_Year_Questions
Screening_of_Diseases-Previous_Year_Questions
Screening_of_Diseases-Screening_of_Diseases
Social_Sciences_and_Health-Previous_Year_Questions
Social_Sciences_and_Health-Social_Sciences_and_Health
Vaccines_and_Cold_Chain-National_Immunization_Schedule__Delayed_immunization__Cold_chain
Vaccines_and_Cold_Chain-Previous_Year_Questions
Vaccines_and_Cold_Chain-Vaccines_and_Open_Vial_Policy
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Dr. Sarah made a presentation on Infectious diseases. She spoke about prevention and treatment of Zika virus. Which of the following is true with respect to the prevention of Zika virus?", "options": [{"label": "A", "text": "Symptomatic treatment with NSAIDs", "correct": false}, {"label": "B", "text": "Purified, inactivated FDA approved vaccine is found to be helpful in prevention", "correct": false}, {"label": "C", "text": "Sexual abstinence, using condoms, delaying pregnancy is helpful in controlling the disease", "correct": true}, {"label": "D", "text": "Immunoglobulin and plasmapheresis is used in the treatment of Zika", "correct": false}], "correct_answer": "C. Sexual abstinence, using condoms, delaying pregnancy is helpful in controlling the disease", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:625px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prevention Method</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Effectiveness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mosquito control</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Highly effective</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Elimination of <span class=\"customMeta\" data-dictid=\"275662f5c11692777183ab59ae573b\">breeding</span> sites, <span class=\"customMeta\" data-dictid=\"f6cead7b60169277719027472f0506\">insecticide</span> use</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Personal protection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Effective</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Wearing long sleeves, using insect repellents</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sexual abstinence/condoms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Effective</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevents sexual transmission of the virus</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Delaying pregnancy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Advised in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> areas</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reduces risk of <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> Zika syndrome</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccination</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Not available</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No FDA-approved vaccine exists yet</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>NSAIDs for treatment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Initially avoided</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Risk of <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> if <span class=\"customMeta\" data-dictid=\"75dc439beb16927771857bde5104df\">dengue</span> co-infection is present</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Immunoglobulin & plasmapheresis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Not standard treatment</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No proven benefit in Zika virus management</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 11 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following statements is true regarding the minimum age requirements for employing children in factories as per the Factories Act?", "options": [{"label": "A", "text": "Guaranteed employment for under 14-year-olds from below-poverty-line families in factories.", "correct": false}, {"label": "B", "text": "No employment for under 18-year-olds in factories.", "correct": false}, {"label": "C", "text": "Under 14-year-olds can be employed only in non-hazardous factory roles.", "correct": false}, {"label": "D", "text": "15-18 year olds need a fitness certificate for factory work from a certified surgeon", "correct": true}], "correct_answer": "D. 15-18 year olds need a fitness certificate for factory work from a certified surgeon", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:806px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Factory Act</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>An establishment employing 10 or more workers where power is used or 20 or more workers where power is not used.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Applicability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Applies to all of India and covers all factories, including <span class=\"customMeta\" data-dictid=\"231e76e11c1692777195bd586f5b59\">perennial</span> and <span class=\"customMeta\" data-dictid=\"201a6ea7721692777198c51d735506\">seasonal</span> factories.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Age Restrictions</strong></p>\n<p><strong>(Option A, B and D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Prohibits employment of children below 14 years of age</strong>.</li>\n<li>15-18 year olds need fitness certificate for factory work from a certified surgeon</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hours of Work</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Work limited to <strong>48 hours/week or 9 hours/day; max 60 hours/week with overtime</strong>.</li>\n<li>Adolescents: max 4.5 hours/day.</li>\n<li>Women and adolescents: work hours 6 am to 7 pm.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Leave</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Grants 1 day of leave per 15 days of work for adolescents</li>\n<li>1 day per 30 days of work for adults.</li>\n<li>Permits accumulation of leaves up to 40 days for adolescents and 30 days for adults.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Health & Safety</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Mandates a minimum of 500 cubic <span class=\"customMeta\" data-dictid=\"32656dc8ba1692777202fc49f9ed13\">feet</span> of space per worker.</li>\n<li>Requires 1 safety officer per 1000 workers.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Welfare</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Stipulates 1 welfare officer per 500 workers, 1 canteen per 250 workers, and 1 <span class=\"customMeta\" data-dictid=\"4751516864169277718500f84f5fb3\">crèche</span> per 30 women workers.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yWkcC8N9KaE2RZpgFh3r1737010802.mp3", "video": ""}, {"text": "Which statement regarding the administration of the Employees' State Insurance (ESI) Act is incorrect?", "options": [{"label": "A", "text": "ESI Corporation administers the ESI Scheme", "correct": false}, {"label": "B", "text": "Union Minister for Labour is Chairman of the ESI Corporation.", "correct": false}, {"label": "C", "text": "The Director General of Health Services heads the Medical Benefit Council.", "correct": false}, {"label": "D", "text": "ESI Corporation functions under the Ministry of Health and Family Welfare.", "correct": true}], "correct_answer": "D. ESI Corporation functions under the Ministry of Health and Family Welfare.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:779px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ESI (Employees State Insurance) Act</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Year</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1948</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Applicability</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Factories</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Applies to all non-seasonal factories employing 10 or more persons in implemented areas, regardless of power usage.</li>\n<li>Excludes railways, defense, and mines.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Other Establishments</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Covers shops, hotels and restaurants, cinemas and theaters, road-motor transport establishments, and newspaper establishments.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Employee Eligibility</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Employees earning up to Rs. 21,000 per month are eligible for benefits. This includes manual, clerical, supervisory, and technical employees.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Administration</strong> (Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Managed by the autonomous Employees' State Insurance Corporation (ESIC).</li>\n<li>ESIC chairman: The Union Minister for Labour</li>\n<li>The Secretary to the Government of India, Ministry of Labour, is the Vice-Chairman.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contribution Rates</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Employer</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3.25% of the total wage bill.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Employee</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0.75% of their wages.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Exemption</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Employees earning less than Rs 176 per day are exempt from contributing.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/nxh1cVbbtfqdxQRrcv3d1737010942.mp3", "video": ""}, {"text": "Which of the following benefits is not offered under the ESI Act?", "options": [{"label": "A", "text": "Unemployment Allowance", "correct": false}, {"label": "B", "text": "Paid Vacation Time", "correct": true}, {"label": "C", "text": "Funeral Expenses", "correct": false}, {"label": "D", "text": "Rehabilitation Allowance", "correct": false}], "correct_answer": "B. Paid Vacation Time", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:779px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Benefits of ESI(Employees State Insurance) Act.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Medical Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Provides \"full medical care,\" including <span class=\"customMeta\" data-dictid=\"277d6f3ee2169277718938e321258f\">hospitalization</span> <span class=\"customMeta\" data-dictid=\"1a8e8831bb1692777182ce2c8a751f\">at no</span> cost to insured individuals & families in cases of sickness, employment injury, and maternity.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sickness Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Provides <strong>70% </strong>of average daily wages in cash during medical leave for a maximum of 91 days within 365 days, as certified by the Insurance Medical Officer/Practitioner.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Extended <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">Sickness</span> Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Extended coverage for long-term diseases beyond 91 days; 34 diseases covered if employed for two years.</p>\n<p>Extended <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">sickness</span> benefit is paid at <strong>80% </strong>of the insured person's wages.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Enhanced <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">Sickness</span> Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><u>Cash benefits (100% wages) for sterilisation procedures:</u>\n<ul>\n<li>14 days for <span class=\"customMeta\" data-dictid=\"2a6989bad01692777201a73b82b799\">tubectomy</span> (women),</li>\n<li>7 days for <span class=\"customMeta\" data-dictid=\"8b8c53004d1692777201cf3df335f5\">vasectomy</span> (men).</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Maternity Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><u>Cash payments for childbirth, miscarriage, or pregnancy-related sickness:</u>\n<ul>\n<li>26 weeks for childbirth,</li>\n<li>6 weeks for miscarriage, and</li>\n<li>40 days for pregnancy-related sickness.</li>\n</ul>\n</li>\n<li>Paid at 100% of the insured woman's average daily wages.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disablement Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><u>Temporary Disablement Benefit (TDB): </u>\n<ul>\n<li>90% of wages paid from day one for temporary employment injury, until recovery.</li>\n</ul>\n</li>\n<li><u>Permanent Disablement Benefit (PDB): </u>\n<ul>\n<li>90% of wages paid monthly for life, based on certified loss of earning capacity.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dependent's Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Dependents receive 90% of the deceased's (due to employment injuries) wages as a shared pension, eligible until age 18 or earlier for married daughters.</li>\n<li><strong>If daughter marries before 18 the benefit is withdrawn</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Funeral Expenses</strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Offers a cash payment up to <strong>Rs. 15,000</strong> to cover funeral expenses upon the death of an insured individual.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rehabilitation</strong></p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Insured individuals and their families are entitled to continued medical treatment even after permanent disablement or retirement.</li>\n<li>They have to pay a <span class=\"customMeta\" data-dictid=\"01cc201eb616927771937a9ae6c669\">nominal</span> fee of Rs.10 per month to avail this benefit.</li>\n<li>Rehabilitation <span class=\"customMeta\" data-dictid=\"f8330e788f16927771812e4f73b80c\">allowance</span> of Rs.15,000 granted.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Unemployment allowance</strong></p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>For eligible employees due to factory <span class=\"customMeta\" data-dictid=\"2b4569285f1692777184282b1ca3f1\">closure</span> or retrenchment: 50% of wage for up to two years.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8NXX43sONjHILcQq9dnB1737011055.mp3", "video": ""}, {"text": "Which of the following benefits offered under the ESI Act provides coverage for 26 weeks?", "options": [{"label": "A", "text": "Sickness benefit", "correct": false}, {"label": "B", "text": "Maternity benefit for confinement", "correct": true}, {"label": "C", "text": "Temporary disablement benefit", "correct": false}, {"label": "D", "text": "Extended sickness benefit", "correct": false}], "correct_answer": "B. Maternity benefit for confinement", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TJTNBCDKdxnjIl8mH9sP1737011471.mp3", "video": ""}, {"text": "Which of the following schemes is most closely related to providing unemployment relief to eligible individuals who have lost their jobs in specific circumstances?", "options": [{"label": "A", "text": "Atal Beemit Vyakti Kalyan Yojana", "correct": true}, {"label": "B", "text": "Abhiyan Indra Dhanush", "correct": false}, {"label": "C", "text": "MGNREGA", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "A. Atal Beemit Vyakti Kalyan Yojana", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/vzeu3irlZEIakPaBY8Hg1736395956.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:695px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Scheme</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Key Features</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Atal Beemit Vyakti Kalyan Yojana</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Provides financial assistance to employees covered under the ESI Act, 1948, who become unemployed.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Offers relief payment for up to 90 days, once in a lifetime.</li>\n<li>The relief payment is 50% of the employee's wages.</li>\n<li>To be eligible, the insured person must have been employed for at least two years and contributed for at least 78 days.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Abhiyan Indra Dhanush</strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Aims to enhance <span class=\"customMeta\" data-dictid=\"15fa752a4f1692777189fe275abf3f\">hygiene</span> and cleanliness in ESIC hospitals.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Implements a VIBGYOR colour-coded pattern for changing bed sheets.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MGNREGA (Mahatma Gandhi National Rural Employment Guarantee Act)</strong></p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Guarantees 100 days of paid work to rural households.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Provides wage employment to households below the poverty line who are willing to perform unskilled manual labor.</li>\n<li>Employment must be provided within 15 days of application; otherwise, the individual is entitled to unemployment allowance</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2ZyJxwWcVqpKJHg08tP81737011194.mp3", "video": ""}, {"text": "Which of the following chemicals was released during the Bhopal gas tragedy?", "options": [{"label": "A", "text": "Strontium", "correct": false}, {"label": "B", "text": "Sarin", "correct": false}, {"label": "C", "text": "Methyl isocyanate", "correct": true}, {"label": "D", "text": "Cesium", "correct": false}], "correct_answer": "C. Methyl isocyanate", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2at8hiBJ88k35fpBKEZg1737009456.mp3", "video": ""}, {"text": "Which of the following is the correct sequence in a disaster management cycle?", "options": [{"label": "A", "text": "Disaster impact → Response → Rehabilitation → Reconstruction → Mitigation → Preparedness", "correct": true}, {"label": "B", "text": "Disaster impact → Mitigation → Preparedness → Response → Rehabilitation → Reconstruction", "correct": false}, {"label": "C", "text": "Disaster impact → Response → Rehabilitation → Reconstruction → Preparedness → Mitigation", "correct": false}, {"label": "D", "text": "Disaster impact → Rehabilitation → Reconstruction → Response → Mitigation → Preparedness", "correct": false}], "correct_answer": "A. Disaster impact → Response → Rehabilitation → Reconstruction → Mitigation → Preparedness", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/d8Ok1y1qDAxD7Tm3ihQ31736396004.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CnOwbE1ITzqIkV1Z9Ur21737009587.mp3", "video": ""}, {"text": "During a disaster, a patient is suffering from a closed femur fracture with stable vital signs and another patient with a penetrating chest wound with respiratory distress. Which of the following are the colour coding given to the patients respectively based on triage principle?", "options": [{"label": "A", "text": "Red and Yellow", "correct": false}, {"label": "B", "text": "Yellow and green", "correct": false}, {"label": "C", "text": "Yellow and Red", "correct": true}, {"label": "D", "text": "Green and Yellow", "correct": false}], "correct_answer": "C. Yellow and Red", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/baHfrjURwMcYo0sdw6wq1736396121.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xxpjewmfY5QchP6s3Zrt1737009705.mp3", "video": ""}, {"text": "Following an earthquake, which of the following is the most effective step to manage infectious diseases?", "options": [{"label": "A", "text": "Mass vaccination against all infectious agents", "correct": false}, {"label": "B", "text": "Meticulous antibiotic supply", "correct": false}, {"label": "C", "text": "Ensure thorough water chlorination and adequate sanitation", "correct": true}, {"label": "D", "text": "Isolating infected people", "correct": false}], "correct_answer": "C. Ensure thorough water chlorination and adequate sanitation", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:583px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Due to</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Poor <span class=\"customMeta\" data-dictid=\"18aafee1a71692777198cdc688e8aa\">sanitation</span> and overcrowding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Acute <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> diseases</li>\n<li>Gastrointestinal diseases (most common)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Displacement of animals</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Zoonotic diseases</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Floods</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Leptospirosis and rickettsia</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MwjAfZJIKscAjKliCWKS1737009920.mp3", "video": ""}, {"text": "Which of the following is not true regarding post-disaster rehabilitation and accommodation?", "options": [{"label": "A", "text": "Residual chlorine level &gt;0.7 mg/L", "correct": false}, {"label": "B", "text": "0.5 gm chlorine tablet is sufficient for 20 liters of water", "correct": false}, {"label": "C", "text": "Distance between water point and latrine should be 100 mts", "correct": false}, {"label": "D", "text": "Number of people per water point should be 150", "correct": true}], "correct_answer": "D. Number of people per water point should be 150", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:586px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Water supply</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Safe water supply with chlorination.</li>\n<li><strong>Residual <span class=\"customMeta\" data-dictid=\"3c268a141b1692777184336bc40100\">chlorine</span> levels should be >0.7 mg/L for 1 hour contact period</strong> <strong>(Option A).</strong></li>\n<li>0.5 mg <span class=\"customMeta\" data-dictid=\"3c268a141b1692777184336bc40100\">chlorine</span> tablets sufficient for 20 L water <strong>(Option B).</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Food and <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">Vector</span> control</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Safe food should be ensured</li>\n<li>To protect from <span class=\"customMeta\" data-dictid=\"fa7058cd8e16927772017bed30d85d\">vector-borne</span> diseases, rodenticides like <span class=\"customMeta\" data-dictid=\"39ecb6e07416927772029550b7e74a\">zinc</span> <span class=\"customMeta\" data-dictid=\"c7ee01df1b169277719539ad796de7\">phosphide</span> must be sprayed.</li>\n<li>Indoor <span class=\"customMeta\" data-dictid=\"a459f313d9169277719789fdfb7ada\">residual</span> sprays must be used for mosquitoes and sandflies.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Accommodation guidelines</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Per person shelter space: 3.4 square meters</li>\n<li>Number of people per water point: 250 (option D)</li>\n<li>Distance to water point: 150 meters</li>\n<li>Number of people per latrine: 20</li>\n<li>Distance to latrine: 30 meters</li>\n<li>Distance between water point and latrine: 100 mts <strong>(Option C)</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/auJtkYPiAUFWN9sDAKiz1737010047.mp3", "video": ""}, {"text": "Which of the following is not a component of disaster mitigation according to the provided information?", "options": [{"label": "A", "text": "Implementing optimal land-use plans", "correct": false}, {"label": "B", "text": "Improved building codes for earthquake-resistant structures", "correct": false}, {"label": "C", "text": "Developing communication and warning systems", "correct": true}, {"label": "D", "text": "Flood mitigation codes for dam resistance", "correct": false}], "correct_answer": "C. Developing communication and warning systems", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3RMz4qU9hXB6oBWLPniH1737010191.mp3", "video": ""}, {"text": "Which of the following is not a key activity of disaster preparedness?", "options": [{"label": "A", "text": "Risk assessment to identify specific hazards", "correct": false}, {"label": "B", "text": "Securing financial and logistical resources for preparedness and response", "correct": false}, {"label": "C", "text": "Public education programs to raise awareness about disaster risks and responses", "correct": false}, {"label": "D", "text": "Enforcing disaster-resistant building codes", "correct": true}], "correct_answer": "D. Enforcing disaster-resistant building codes", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:667px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disaster Preparedness</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Aims to reduce the impact of hazards through long-term development.</p>\n<p><strong>Key Activities:</strong></p>\n<ul>\n<li>Risk assessment to identify specific hazards (Option A)</li>\n<li>Establishing standards and regulations for construction and land use</li>\n<li>Developing communication, information, and warning systems for timely alerts</li>\n<li>Organizing and coordinating response mechanisms, including:\n\t\t\t\t<ol>\n<li>Training and equipping emergency personnel</li>\n<li>Establishing <span class=\"customMeta\" data-dictid=\"0705e4cf081692777187f4d2b512aa\">evacuation</span> procedures</li>\n<li>Stockpiling essential supplies</li>\n</ol>\n</li>\n<li>Securing financial and logistical resources for preparedness and response <strong>(Option B)</strong></li>\n<li>Public education programs to raise awareness about disaster risks and responses <strong>(Option C)</strong></li>\n<li>Collaboration with news media for effective information dissemination during emergencies</li>\n<li>Conducting disaster <span class=\"customMeta\" data-dictid=\"e80d309d691692777198f2f0f93cca\">simulation</span> exercises to test and improve response mechanisms</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Integration of Mitigation Measures</strong></p>\n<p>Disaster mitigation in disaster preparedness aims to minimize hazard impacts through proactive development efforts, enhancing <span class=\"customMeta\" data-dictid=\"b11364e7ed169277719777251a2bfe\">resilience</span> and emergency management capabilities.</p>\n<p>Empowers local individuals as first responders.</p>\n<p>Effective when communities manage internal and external assistance programs.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Multi-Sectoral Approach</strong></p>\n<p>Involves collaboration among government agencies, NGOs, communities, and individuals.</p>\n<p>Ensures a comprehensive and coordinated response to <span class=\"customMeta\" data-dictid=\"a3b8e7d7ec1692777192646b2c8f69\">mitigate</span> disaster risks and enhance resilience.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vri0jRn07yCg36n9KN7h1737010325.mp3", "video": ""}, {"text": "Which agency was established by the Disaster Management Act (2005) to oversee disaster management at the national level in India?", "options": [{"label": "A", "text": "Ministry of Home Affairs (MHA)", "correct": false}, {"label": "B", "text": "National Institute of Disaster Management", "correct": false}, {"label": "C", "text": "National Disaster Management Authority (NDMA)", "correct": true}, {"label": "D", "text": "Emergency Medical Relief Wing", "correct": false}], "correct_answer": "C. National Disaster Management Authority (NDMA)", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:667px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disaster Management Act (2005):</strong></p>\n<ul>\n<li>Established the National Disaster Management Authority (NDMA) and State Disaster Management Authorities (SDMAs).</li>\n<li>Provides a legal framework for disaster management in India.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>National Disaster Management Authority (NDMA):</strong></p>\n<ul>\n<li>Prepares national-level disaster management plans and oversees their execution.</li>\n<li>Key agency for disaster management <span class=\"customMeta\" data-dictid=\"3820ba101416927771858fe257e119\">coordination</span> in India.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>National Institute of Disaster Management: (Option B)</strong></p>\n<ul>\n<li>Located in New Delhi, focuses on capacity building, training, and research.</li>\n<li>Aims to strengthen national disaster response capabilities.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Role of State Governments:</strong></p>\n<ul>\n<li>Direct responsibility for executing relief efforts post-disaster.</li>\n<li>Supported by the Union government through the Calamity Relief Fund (3:1 contribution ratio).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Ministry of Home Affairs (MHA): (Option A)</strong></p>\n<ul>\n<li>Nodal ministry for overall <span class=\"customMeta\" data-dictid=\"3820ba101416927771858fe257e119\">coordination</span> of disaster management.</li>\n<li>Chaired by the Prime Minister, oversees disaster response at the national level.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>National Crisis Management Committee (NCMC) and Cabinet Committee on Security (CCS):</strong></p>\n<ul>\n<li>Involved in high-level decision-making for disaster management in India.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Emergency Medical Relief Wing: (Option D)</strong></p>\n<ul>\n<li>Operates under the Ministry of Health and Family Welfare, coordinates health-related activities during disasters.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gsKpuEfJKaxrCuBM4SvJ1737010462.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 23 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A 50-year-old man presents with severe abdominal pain, confusion, and difficulty walking. Examination reveals moderate pallor, blue-black lines on his gums (shown in the image below), and bilateral foot drop. Which heavy metal poisoning is most likely responsible for his symptoms?", "options": [{"label": "A", "text": "Arsenic", "correct": false}, {"label": "B", "text": "Mercury", "correct": false}, {"label": "C", "text": "Lead", "correct": true}, {"label": "D", "text": "Cadmium", "correct": false}], "correct_answer": "C. Lead", "question_images": ["https://image.prepladder.com/content/pjBABQrDALzsyJWatOzk1736396297.png"], "explanation_images": ["https://image.prepladder.com/content/sgHATx5JlBWVmTzAOhM81736396339.png", "https://image.prepladder.com/content/al62TbIen1hgSbFULqPs1736396356.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:647px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Heavy metal </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Source of exposure </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Clinical features </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Lead</strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Non-industrial </strong></p>\n<ul>\n<li>Gasoline from automobile exhaust.</li>\n<li>Contaminated water from lead pipes.</li>\n<li>Lead paints in old homes.<strong> </strong></li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Industrial </strong></p>\n<ul>\n<li>Battery and <span class=\"customMeta\" data-dictid=\"ff63f91a5e16927771858327cda029\">cosmetic</span> manufacturing</li>\n<li>Printing paint and <span class=\"customMeta\" data-dictid=\"e8a3764ab516927771863f3212fc41\">dye</span> factories</li>\n<li>Glass manufacturing</li>\n<li>Shipbuilding</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Organic lead </strong></p>\n<ul>\n<li>Wrist and/or foot drop.</li>\n<li>Insomnia.</li>\n<li>Headache.</li>\n<li>Mental confusion.</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Inorganic lead </strong></p>\n<ul>\n<li>Anemia.</li>\n<li>Burton’s line - blue lines on gums.</li>\n<li>Colic, <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain with diarrhea/constipation.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Arsenic </strong></p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Pesticide</li>\n<li>Contaminated water</li>\n<li>Copper and lead smelting</li>\n<li>Wood preservatives</li>\n</ul>\n<br/>\n\t\t\t </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Acute <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li>Gastroenteritis (Rice watery diarrhea) (differential diagnosis- cholera)</li>\n<li>Hypotension</li>\n<li>Non-cardiogenic <span class=\"customMeta\" data-dictid=\"10e2dee19e1692777196673db90c23\">pulmonary</span> edema</li>\n<li>Proteinuria</li>\n<li>Seizures, <span class=\"customMeta\" data-dictid=\"74ef5626ab16927771855274381e00\">delirium</span> and encephalopathy</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Subacute <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> (1-3 weeks)</strong></p>\n<ul>\n<li>Glove stocking pattern polyneuropathy</li>\n<li>Absent deep <span class=\"customMeta\" data-dictid=\"606c2acae5169277720052151cb04c\">tendon</span> reflex</li>\n<li>Anemia, Leukopenia</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Chronic <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li>Raindrop pattern hyperpigmentation</li>\n<li>Palmar-plantar hyperkeratosis</li>\n<li>Alopecia</li>\n<li>Angiosarcoma</li>\n<li>Hepatomegaly</li>\n<li>Gangrene of extremities.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mercury</strong></p>\n<p><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Fish (from water pollution)</li>\n<li>Dental amalgam</li>\n<li>Gold and <span class=\"customMeta\" data-dictid=\"b59bbde2f816927771924bb2b17b64\">mercury</span> mining</li>\n<li>Contaminated food and grains</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Greying of the oral mucosa</li>\n<li>Hemorrhagic gastroenteritis</li>\n<li>Acute <span class=\"customMeta\" data-dictid=\"98d387b7bd1692777201278b27be72\">tubular</span> necrosis</li>\n<li>Shock</li>\n<li>Excessive irritability</li>\n<li>Acrodynia (painful extremities)</li>\n<li>Facial paresthesias</li>\n<li>Ataxia (loss of coordination), Dementia</li>\n<li>Blindness</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cadmium</strong></p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Smoking</li>\n<li>Paint manufacturing</li>\n<li>Nickel-cadmium battery manufacturing</li>\n<li>Plastic production</li>\n</ul>\n<br/>\n\t\t\t </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Acute <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li>Inhalation: Pneumonitis; ARDS</li>\n<li>Ingestion: GIT hemorrhagic necrosis</li>\n</ul>\n<p><strong>Chronic <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li>Osteomalacia</li>\n<li>Parkinson like symptoms</li>\n<li>Proteinuria</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Raindrop <span class=\"customMeta\" data-dictid=\"b5f46d7e431692777195efd6b43e9f\">pigmentation</span> (Arsenic poisoning)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Acrodynia (Mercury poisoning)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"332\" src=\"https://image.prepladder.com/content/sgHATx5JlBWVmTzAOhM81736396339.png\" width=\"400\"/></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\">\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"196\" src=\"https://image.prepladder.com/content/al62TbIen1hgSbFULqPs1736396356.png\" width=\"400\"/></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8VKl0IpvVOHajBAbkoJu1737008851.mp3", "video": ""}, {"text": "Which of the following best describes the objective of ergonomics?", "options": [{"label": "A", "text": "Achieving optimal human performance and well-being through work adjustments.", "correct": true}, {"label": "B", "text": "Enhancing job satisfaction by adjusting tasks to fit human capabilities.", "correct": false}, {"label": "C", "text": "Ensuring workers perform efficiently without health risks.", "correct": false}, {"label": "D", "text": "Assessing job tasks to prevent health hazards.", "correct": false}], "correct_answer": "A. Achieving optimal human performance and well-being through work adjustments.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HUW6ztVt23NET0otdUyo1736509071.mp3", "video": ""}, {"text": "Where is the National Institute of Occupational Health(Apex) of India located?", "options": [{"label": "A", "text": "New Delhi", "correct": false}, {"label": "B", "text": "Hyderabad", "correct": false}, {"label": "C", "text": "Pune", "correct": false}, {"label": "D", "text": "Ahmedabad", "correct": true}], "correct_answer": "D. Ahmedabad", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Q8DqYOSNRFJkd4yJHUHw1736509174.mp3", "video": ""}, {"text": "How frequently are periodic medical examinations typically conducted for employees in dichromate industries?", "options": [{"label": "A", "text": "Once a year", "correct": false}, {"label": "B", "text": "Once a month", "correct": false}, {"label": "C", "text": "Once in six months", "correct": false}, {"label": "D", "text": "Daily", "correct": true}], "correct_answer": "D. Daily", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:524px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Periodicity </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Annual (Once a year)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>General industries</li>\n<li>Office environments</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Biannual (Once in six months)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Asbestos handling</li>\n<li>Pharmaceutical production</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Quarterly</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Construction</li>\n<li>Mining</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Monthly</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Chemical manufacturing</li>\n<li>Heavy metal industries(Lead)</li>\n<li>Radium and Ionsing radiation</li>\n<li>Dye industries</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Daily</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Dichromate</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Z6nVGri7XHMKFAsI8Bu11736509278.mp3", "video": ""}, {"text": "Which of the following is a primary objective of a pre-placement medical examination?", "options": [{"label": "A", "text": "To evaluate the effectiveness of the company's health and safety programs.", "correct": false}, {"label": "B", "text": "To ensure the employee's ongoing health and fitness after being hired.", "correct": false}, {"label": "C", "text": "To determine if the candidate is medically fit for the job they are being considered for.", "correct": true}, {"label": "D", "text": "To provide health benefits and insurance options to the new employee.", "correct": false}], "correct_answer": "C. To determine if the candidate is medically fit for the job they are being considered for.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:660px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Criteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pre-Placement Examination</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Post-Placement Examination</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Timing</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Before hiring/starting the job.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>After the employee has started the job.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Purpose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>To determine if the candidate is medically fit for the job.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>To monitor the ongoing health and safety of employees.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Focus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Assess fitness for specific job tasks.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detect work-related health issues and ensure continued fitness.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Outcome</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decision on hiring based on medical fitness</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Implement interventions if health issues are detected.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Frequency</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Once, before the job offer.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Periodically or as required during employment.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Legal Requirement</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Often mandated by regulations for certain jobs</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It may be required by occupational health and safety regulations</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples of Usage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>High-risk jobs (e.g., heavy machinery operators, pilots)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Jobs with ongoing exposure to hazards (e.g., chemical exposure)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SMPV2ihXW2wdduxPgPL01736509432.mp3", "video": ""}, {"text": "What does the sickness absenteeism rate measure?", "options": [{"label": "A", "text": "The number of employees absent from work due to sickness.", "correct": false}, {"label": "B", "text": "The percentage of working hours lost due to employee absences caused by illness..", "correct": true}, {"label": "C", "text": "The average duration of sickness absences per employee per month.", "correct": false}, {"label": "D", "text": "The economic impact of sickness absences on the organisation", "correct": false}], "correct_answer": "B. The percentage of working hours lost due to employee absences caused by illness..", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/7sIj4KQFZzXSlK6g0C261736396451.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mQbPCtB7v9Lz1k3UYLcR1736509830.mp3", "video": ""}, {"text": "A 32-year-old man presents with intermittent episodes of pale and white fingers followed by a dusky red colour, leading to a diagnosis of Raynaud's phenomenon. Considering his symptoms, what is his most likely occupation?", "options": [{"label": "A", "text": "Farmers", "correct": false}, {"label": "B", "text": "Dentist", "correct": false}, {"label": "C", "text": "Construction workers", "correct": true}, {"label": "D", "text": "Office workers", "correct": false}], "correct_answer": "C. Construction workers", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/MgxjrQQ0NZNUoEmkz2yM1736396406.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/j9kOOQlip65ViSxjjhrC1737009313.mp3", "video": ""}, {"text": "A 65-year-old male comes to the OPD due to hematuria. Cystoscopy reveals bladder cancer. Past occupational exposure to which of the following chemicals is associated with this condition?", "options": [{"label": "A", "text": "Vinyl chloride", "correct": false}, {"label": "B", "text": "Benzidine", "correct": true}, {"label": "C", "text": "Benzene", "correct": false}, {"label": "D", "text": "Arsenic", "correct": false}], "correct_answer": "B. Benzidine", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:578px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Carcinoma </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Occupation exposure </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Lungs </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Arsenic (Option D)</strong>, beryllium, cadmium, Chromium, Asbestosis, Silica, radon, <span class=\"customMeta\" data-dictid=\"f4f8ac921a1692777193d9c7bebe1e\">Nickel</span> and <span class=\"customMeta\" data-dictid=\"5bdef37bf01692777182f5780db753\">aromatic</span> hydrocarbon.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bladder </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Benzidine (Option B)</strong>, Auramine, Beta-naphthylamine, <span class=\"customMeta\" data-dictid=\"d420f34d5816927771943f346531fc\">Para</span> amino-diphenyl, Magenta.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Liver </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vinyl <span class=\"customMeta\" data-dictid=\"f7dbd0ab551692777184f9b1a73c6d\">chloride</span> (Option A)</strong>, Arsenic.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Leukaemia </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Benzene (Option C)</strong>, <span class=\"customMeta\" data-dictid=\"8e2fdef08316927771877389af9cc7\">ethylene</span> oxide.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Skin </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Arsenic (Option D)</strong>, ionising radiation, <span class=\"customMeta\" data-dictid=\"ce3cc4c1bd16927771967fba44f261\">Polycyclic</span> <span class=\"customMeta\" data-dictid=\"5bdef37bf01692777182f5780db753\">aromatic</span> hydrocarbons.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Scrotum </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Polycyclic <span class=\"customMeta\" data-dictid=\"5bdef37bf01692777182f5780db753\">aromatic</span> hydrocarbons.</p>\n</td>\n</tr>\n</tbody>\n\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:578px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Carcinoma </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Occupation exposure </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bladder</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Benzidine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Leukaemia</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Benzene</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0Sv90Ctlly9z9PClAGlH1737009199.mp3", "video": ""}, {"text": "Which metal oxide fumes are most commonly implicated in causing metal fume fever?", "options": [{"label": "A", "text": "Copper", "correct": false}, {"label": "B", "text": "Zinc", "correct": true}, {"label": "C", "text": "Lead", "correct": false}, {"label": "D", "text": "Mercury", "correct": false}], "correct_answer": "B. Zinc", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Reference:</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HwzFRgzEPAGQZdlUr8MV1737009089.mp3", "video": ""}, {"text": "Which of the following tests is the most sensitive test for screening for lead exposure?", "options": [{"label": "A", "text": "Urine Coproporphyrin level", "correct": false}, {"label": "B", "text": "Urine aminolevulinate level", "correct": true}, {"label": "C", "text": "Blood lead level", "correct": false}, {"label": "D", "text": "Peripheral blood smear", "correct": false}], "correct_answer": "B. Urine aminolevulinate level", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:657px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Test </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Inference </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Urine <span class=\"customMeta\" data-dictid=\"0a74553845169277718571f94964fb\">coproporphyrin</span> level </strong>(Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used as a screening test (>150 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> is indicative of lead exposure)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Urine <span class=\"customMeta\" data-dictid=\"0e18b6e1861692777181ec1cd6242f\">aminolevulinate</span> (ALA) level </strong>(Option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Most sensitive and specific for screening.</li>\n<li>Normal <span class=\"customMeta\" data-dictid=\"0096f2a7631692777201eb9f21d5a7\">urine</span> ALA: 1 to 6 mg/24 hours; in lead poisoning: >70 mg/24 hours.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Urine lead level </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Quantitative indicator of lead exposure and absorption.</p>\n<p>(Normal: 0.2 to 0.8 mg/L)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Blood lead level </strong></p>\n<p>(Option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Confirmatory test</li>\n<li>Normal: < 10 mcg/dl</li>\n<li>Occupational exposure: 40 mcg/dl</li>\n<li>Treatment should be started if levels >70 mcg/dl</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Peripheral blood smear</strong></p>\n<p>(Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Examining <span class=\"customMeta\" data-dictid=\"0bc69d6cf8169277718209818c7522\">basophilic</span> <span class=\"customMeta\" data-dictid=\"37d5ea489a1692777199ec08c05fe6\">stippling</span> is a sensitive <span class=\"customMeta\" data-dictid=\"9f524cc9601692777194d19de23a85\">parameter</span> for hematological response to lead levels and treatment of lead poisoning.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4AyCAL0RPN3XNjonni4t1737008967.mp3", "video": ""}, {"text": "A 45-year-old radiology technician consults his occupational health physician about his annual radiation exposure, concerned about potential health risks and whether his exposure is within safe limits. What is the maximum annual radiation exposure level a person can tolerate without significant health risks?", "options": [{"label": "A", "text": "1 rem", "correct": false}, {"label": "B", "text": "5 rem", "correct": true}, {"label": "C", "text": "15 rem", "correct": false}, {"label": "D", "text": "10 rem", "correct": false}], "correct_answer": "B. 5 rem", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yZUi7Ex8bTMYwyNJ29fw1736249612.mp3", "video": ""}, {"text": "A 4-year-old child presents with irritability, loss of appetite, and developmental delays. The parents mention living in an old house undergoing renovation, with peeling paint and dust. Blood tests confirm elevated lead levels. What is the most common route of lead poisoning in this child?", "options": [{"label": "A", "text": "Inhalation", "correct": false}, {"label": "B", "text": "Absorption through the skin", "correct": false}, {"label": "C", "text": "Injection", "correct": false}, {"label": "D", "text": "Ingestion", "correct": true}], "correct_answer": "D. Ingestion", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/zFkaVfULKJDEYFZ14vDA1736510401.mp3", "video": ""}, {"text": "A 38-year-old male factory worker at a sugarcane processing plant presents with a dry cough, shortness of breath, and fever. On examination, bilateral inspiratory crackles are noted. Chest X-ray shows diffuse infiltrates, and spirometry indicates a restrictive pattern. What respiratory condition is he likely suffering from?", "options": [{"label": "A", "text": "Byssinosis", "correct": false}, {"label": "B", "text": "Farmer’s lung", "correct": false}, {"label": "C", "text": "Bird fancier lung", "correct": false}, {"label": "D", "text": "Bagassosis", "correct": true}], "correct_answer": "D. Bagassosis", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/GtqGvyKFglk7t6VwHTrq1737008654.mp3", "video": ""}, {"text": "A 55-year-old male with over 30 years in the construction industry presents to the clinic with a chronic cough and shortness of breath. His history includes long-term asbestos exposure. Chest X-ray reveals interstitial fibrosis. The patient is concerned about complications from his occupational exposure. What is the most common manifestation in a patient with asbestosis?", "options": [{"label": "A", "text": "Pleural plaques", "correct": true}, {"label": "B", "text": "Mesothelioma", "correct": false}, {"label": "C", "text": "Pleural effusion", "correct": false}, {"label": "D", "text": "Adenocarcinoma of the lungs", "correct": false}], "correct_answer": "A. Pleural plaques", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/16UDCDEP3AJrBUybSNwf1736510114.mp3", "video": ""}, {"text": "A 60-year-old man presents with chronic cough, weight loss, and night sweats. He has worked in the mining industry for over 25 years. On examination, there are crackles in the upper lung fields, and a chest X-ray shows nodular opacities in the upper lobes. Which type of pneumoconiosis is most commonly associated with an increased risk of tuberculosis (TB)?", "options": [{"label": "A", "text": "Asbestosis", "correct": false}, {"label": "B", "text": "Berylliosis", "correct": false}, {"label": "C", "text": "Coal worker's pneumoconiosis", "correct": false}, {"label": "D", "text": "Silicosis", "correct": true}], "correct_answer": "D. Silicosis", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/a74vKsJJowugBH0h2bsX1736510264.mp3", "video": ""}, {"text": "A 55-year-old male presents to the outpatient clinic with progressive shortness of breath and a chronic dry cough. He mentions working in shipbuilding for over 30 years. On examination, his lungs have a dull percussion note and fine crackles at the bases. A chest X-ray is performed. Which of the following is the characteristic radiologic change seen in this patient?", "options": [{"label": "A", "text": "Mottling of lung", "correct": false}, {"label": "B", "text": "Snowstorm appearance", "correct": false}, {"label": "C", "text": "Fine nodular opacity", "correct": false}, {"label": "D", "text": "Ground glass opacity", "correct": true}], "correct_answer": "D. Ground glass opacity", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:507px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>X-Ray Changes</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Types of pneumoconiosis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Ground glass opacity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Asbestosis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Black lung</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Anthracosis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mottling of lung</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bagassosis<strong> (Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Fine <span class=\"customMeta\" data-dictid=\"bfa856c77716927771939978c5afd0\">nodular</span> opacity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Farmer's lung <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Snowstorm</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Silicosis <strong>(Option B)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0MC76hixjmCHgihsKhlp1746564965.mp3", "video": ""}, {"text": "Which of the following factors plays a crucial role in determining the severity of pneumoconiosis in individuals exposed to mineral dust? 1) Fineness of particles 2) Chemical composition 3) Concentration of dust in the air 4) Period of exposure", "options": [{"label": "A", "text": "1,2,3", "correct": false}, {"label": "B", "text": "1,2,3,4", "correct": true}, {"label": "C", "text": "2,3", "correct": false}, {"label": "D", "text": "2,3,4", "correct": false}], "correct_answer": "B. 1,2,3,4", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:612px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Factor</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chemical Composition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Different dust types have varying <span class=\"customMeta\" data-dictid=\"d3323d4b271692777200122ea879e5\">toxicity</span> levels; <span class=\"customMeta\" data-dictid=\"4fc6d603f016927771985e818db6f2\">silica</span> and <span class=\"customMeta\" data-dictid=\"92cc1e1acb1692777182aee908c1fd\">asbestos</span> are particularly harmful.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Fineness of Particles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Finer particles can penetrate deeper into the lungs, causing more severe damage over time.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Concentration of Dust in the Air</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Higher concentrations increase the likelihood and severity of <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> issues upon inhalation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Period of Exposure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Longer exposure durations, especially at high concentrations, increase <span class=\"customMeta\" data-dictid=\"fa914a0d95169277718542753b513d\">cumulative</span> lung damage.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Health Status of the Person Exposed</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pre-existing lung diseases like Asthma, COPD, smokers and immune status affect susceptibility.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1HLd8p4AAp0Y1KVNRt3L1736509961.mp3", "video": ""}, {"text": "Match the following pneumoconiosis conditions with their related industries: Pneumoconiosis Exposure Industry 1. Silicosis a. Textile Manufacturing 2. Asbestosis b. Mining and Quarrying 3. Byssinosis c. Construction and Shipbuilding 4. Anthracosis d. Coal Mining", "options": [{"label": "A", "text": "1-a, 2-b, 3-c, 4-d", "correct": false}, {"label": "B", "text": "1-b, 2-c, 3-a, 4-d", "correct": true}, {"label": "C", "text": "1-d, 2-c, 3-a, 4-b", "correct": false}, {"label": "D", "text": "1-b, 2-d, 3-c, 4-a", "correct": false}], "correct_answer": "B. 1-b, 2-c, 3-a, 4-d", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ZPFTmnB4zpP7ydhHDRc91736508959.mp3", "video": ""}, {"text": "A 55-year-old coal miner with a history of fine dust exposure presents with chronic cough and shortness of breath. A chest X-ray shows extensive lung fibrosis, and he is diagnosed with pneumoconiosis. Which particle size is most dangerous for causing pneumoconiosis by reaching the lower respiratory tract?", "options": [{"label": "A", "text": "5 - 10 μm", "correct": false}, {"label": "B", "text": "3 - 5 μm", "correct": false}, {"label": "C", "text": "0.5 - 3 μm", "correct": true}, {"label": "D", "text": "&gt;10 μm", "correct": false}], "correct_answer": "C. 0.5 - 3 μm", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/QOfDDvszmwPRc4Pr1S2Q1736396240.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:568px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Particle Size </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Effects on <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">Respiratory</span> Tract</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5-10 μm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It gets trapped in the upper <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> tract.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3-5 μm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Deposits in the mid-respiratory tract.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0.5-3 μm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It enters the <span class=\"customMeta\" data-dictid=\"0dd428c12116927771819285c8849c\">alveoli</span> and causes damage.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less than 0.5 μm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Moves deeper due to <span class=\"customMeta\" data-dictid=\"639c6081991692777183ab4e80e616\">Brownian</span> motion into smaller airways.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2xCcrsZECRfe1yQxpds61736508706.mp3", "video": ""}, {"text": "A 30-year-old construction worker presents with painful muscle spasms after several hours of heavy sweating in the hot sun. He reports extreme thirst and muscle tightness, but his vital signs are normal. Which heat-related illness is primarily caused by loss of sodium and chloride during heavy physical work in high temperatures?", "options": [{"label": "A", "text": "Heat stroke", "correct": false}, {"label": "B", "text": "Heat exhaustion", "correct": false}, {"label": "C", "text": "Heat cramps", "correct": true}, {"label": "D", "text": "Heat syncope", "correct": false}], "correct_answer": "C. Heat cramps", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Heat Disorder</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Treatment</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Heat Cramps</strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Loss of sodium and chlorides due to heavy <span class=\"customMeta\" data-dictid=\"9e2d8a3f5a16927771932c2348ec52\">muscular</span> work.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Painful, <span class=\"customMeta\" data-dictid=\"c76bdef91c16927771983b9c48eb89\">spasmodic</span> contractions of skeletal muscles.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rehydration and <span class=\"customMeta\" data-dictid=\"2e0552462e16927771871413861fb7\">electrolyte</span> replacement; rest and stretching of affected muscles.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Heat Stroke</strong></p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Failure of heat-regulating mechanism.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Very high <span class=\"customMeta\" data-dictid=\"4a7581c8b01692777183819f38c633\">body temperature</span> (> 110°F or 43.3°C), delirium, convulsions, partial or complete loss of consciousness, dry and hot skin</p>\n<ul>\n<li><strong>Classical heat stroke</strong> occurs in vulnerable populations during heatwaves, while <strong>E</strong><strong>xertional heat stroke</strong> occurs in healthy individuals during intense physical activity in hot conditions.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rapid <span class=\"customMeta\" data-dictid=\"579dcf5fc51692777185eef17a83c6\">cooling</span> in an ice <span class=\"customMeta\" data-dictid=\"12e7ea03211692777202cea53e3a8e\">water bath</span> until rectal temperature falls below 102°F (38.9°C). Continuous monitoring of rectal temperature. Supportive care for complications.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Heat Exhaustion</strong></p>\n<p><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Imbalance or inadequate replacement of water and salts lost through perspiration.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Normal or moderately elevated <span class=\"customMeta\" data-dictid=\"4a7581c8b01692777183819f38c633\">body temperature</span> (< 102°F or 38.9°C)</p>\n<p>Dizziness, weakness, fatigue, <span class=\"customMeta\" data-dictid=\"f3739d892c1692777184b2e134615c\">circulatory</span> distress,</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Normalise fluid and <span class=\"customMeta\" data-dictid=\"2e0552462e16927771871413861fb7\">electrolyte</span> balance; may require <span class=\"customMeta\" data-dictid=\"277d6f3ee2169277718938e321258f\">hospitalization</span> in severe cases.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Heat Syncope</strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Blood pooling in lower limbs due to dilated blood vessels.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pale skin, sudden collapse, no significant rise in body temperature</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lay down in the shade with your head slightly down; recovery typically takes 5-10 minutes.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LSTwNaaDbIdSOKefMe7u1736508554.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 30 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "What is the correct order of disaster management steps?", "options": [{"label": "A", "text": "Impact-Response- Rehab-Mitigation", "correct": true}, {"label": "B", "text": "Response- Rehab- Mitigation- Impact", "correct": false}, {"label": "C", "text": "Rehab- mItigation-Response-Impact", "correct": false}, {"label": "D", "text": "Mitigation-Response-Impact-Rehab", "correct": false}], "correct_answer": "A. Impact-Response- Rehab-Mitigation", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/qePL1eo51JVAr5XkJ60N1724851217.png"], "explanation": "<p>Correct Option A: Impact - Response - Rehab - Mitig\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The blood bag is to be disposed of in", "options": [{"label": "A", "text": "Red bin", "correct": false}, {"label": "B", "text": "Yellow bin", "correct": true}, {"label": "C", "text": "Blue bin", "correct": false}, {"label": "D", "text": "Black bin", "correct": false}], "correct_answer": "B. Yellow bin", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Color</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Waste type</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Method of disposal </strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Yellow</p>\n</td>\n<td>\n<ul>\n<li>Infectious</li>\n<li>May or may not be pretreated</li>\n</ul>\n</td>\n<td>\n<p>Incineration</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Red</p>\n</td>\n<td>\n<ul>\n<li>Infectious</li>\n<li>Rubber, plastic, tube</li>\n<li>No pretreatment</li>\n</ul>\n</td>\n<td>\n<p>Recycling or reuse</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Blue</p>\n</td>\n<td>\n<ul>\n<li>Glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> implants</li>\n<li>No pretreatment</li>\n</ul>\n</td>\n<td>\n<p>Recycling or reuse</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>White</p>\n</td>\n<td>\n<ul>\n<li>Sharps</li>\n<li>No pretreatment</li>\n</ul>\n</td>\n<td>\n<p>Recycling or reuse after shredding</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which organization is responsible for gathering and regularly publishing extensive surveys on morbidity, family planning, and vital events?", "options": [{"label": "A", "text": "AIIMS", "correct": false}, {"label": "B", "text": "National sample survey", "correct": true}, {"label": "C", "text": "Sample registration system", "correct": false}, {"label": "D", "text": "Central Bureau of Health", "correct": false}], "correct_answer": "B. National sample survey", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/4yxGP5WVt9wQsPzsBnpp1747134595.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A nurse got an accidental prick from a needle used for an HIV+ patient. Which single test would lead to a confirmatory diagnosis in her?", "options": [{"label": "A", "text": "p24 antigen", "correct": false}, {"label": "B", "text": "PCR", "correct": false}, {"label": "C", "text": "HIV ELISA", "correct": false}, {"label": "D", "text": "Western blot assay", "correct": true}], "correct_answer": "D. Western blot assay", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:714px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425\">\n<p><strong>LABORATORY DIAGNOSIS OF HIV INFECTION</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:none\">\n<p><strong>Screening tests</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:none; border-right:1px solid #272425; border-top:none\">\n<p>ELISA screens for HIV antibodies (most sensitive) <strong>(Option C ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:none\">\n<p><strong>Confirmatory tests</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:none; border-right:1px solid #272425; border-top:none\">\n<ul>\n<li>Western <span class=\"customMeta\" data-dictid=\"2bc990c16116927771830255971ff6\">blot</span> - A confirmatory test confirms specific antibodies against p24 and gp41 proteins. (highly specific) <strong>(Option D)</strong></li>\n<li>Confirmatory test for adults - qPCR for HIV1 <strong>(Option B ruled out)</strong></li>\n<li>Confirmatory tests of infants < 1 year - HIV DNA RT-PCR</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:none\">\n<p><strong>Virus Isolation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:none; border-right:1px solid #272425; border-top:none\">\n<p>Direct virus testing is not standard; HIV isolation from cultured lymphocytes is costly and resource-intensive.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:none\">\n<p><strong>CD4 <span class=\"customMeta\" data-dictid=\"c605d4126116927771916c2002638e\">Lymphocyte</span> Count</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:none; border-right:1px solid #272425; border-top:none\">\n<p>Most reliable predictor of HIV progression; absolute count indicates immune system health, with <200 cells/µL signalling a high risk of AIDS-related infections.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:none\">\n<p><strong>CD4 <span class=\"customMeta\" data-dictid=\"c605d4126116927771916c2002638e\">Lymphocyte</span> Percentage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:none; border-right:1px solid #272425; border-top:none\">\n<p>Independent indicator of disease progression; <14% suggests a heightened risk of AIDS-related complications.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:none\">\n<p><strong>HIV <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">Viral</span> Load Tests</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:none; border-right:1px solid #272425; border-top:none\">\n<p>Measure actively replicating HIV in blood; correlate with disease <span class=\"customMeta\" data-dictid=\"3c305b384216927771969ca4166493\">progression</span> and assess <span class=\"customMeta\" data-dictid=\"4019cd26841692777181fa4c0c5a6a\">antiretroviral</span> therapy effectiveness.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:none\">\n<p><strong>Other Markers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:none; border-right:1px solid #272425; border-top:none\">\n<ul>\n<li>Beta-2 <span class=\"customMeta\" data-dictid=\"06477fc93b16927771922ca7cd0afd\">microglobulin</span> (B2M) levels and p24 <span class=\"customMeta\" data-dictid=\"782b31281a1692777181708484c1d1\">antigen</span> presence indicate immune <span class=\"customMeta\" data-dictid=\"ba6b77f29316927771807350f86ce2\">activation</span> and <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> replication, aiding disease assessment.</li>\n<li>P24 <span class=\"customMeta\" data-dictid=\"782b31281a1692777181708484c1d1\">antigen</span> tests positive in the window period <strong>(Option A ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 38-year-old man visited the Suraksha clinic due to an anorectal discharge. Which of the following kits, color-coded for specific purposes, is advised for the syndromic treatment of sexually transmitted infections (STIs)?", "options": [{"label": "A", "text": "Grey", "correct": true}, {"label": "B", "text": "Green", "correct": false}, {"label": "C", "text": "White", "correct": false}, {"label": "D", "text": "Blue", "correct": false}], "correct_answer": "A. Grey", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/3NQrKbyf3epgXSN2fbl61748156281.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:638px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Suraksha Clinics: Integrating STI/RTI Treatment and HIV/AIDS Control</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Government STI/RTI clinics, branded as \"Suraksha Clinics,\" offer free standardized integrated STD and RTI treatment services at district-level and above healthcare facilities.</li>\n<li>Under National AIDS Control Program (NACP)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Referral Centers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>STD Clinics at district, block, and First Referral Unit (FRU) levels act as referral centers for specialized treatment.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Counselling and <span class=\"customMeta\" data-dictid=\"672aab321d16927771840ecbc284dd\">Condom</span> Distribution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Counselling services and high-quality condoms are provided to promote safer sexual practices.</li>\n<li>Utilizes the expertise of NGOs in providing counselling services at STD clinics.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Training and strengthening existing centers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Existing STD clinics in hospitals and medical colleges are strengthened with technical support, equipment,</li>\n<li>Training for medical staff to manage STDs/RTIs using a <span class=\"customMeta\" data-dictid=\"87356352bc169277719923fcc93329\">syndromic</span> approach.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Pre-packed STI/RTI Color-Coded Kits</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Free pre-packed kits provided to clinics, centrally procured and distributed through State AIDS Control Societies.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Kit Colors and Conditions</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 1 (Grey)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Urethral discharge, <strong>anorectal discharge</strong>, and cervicitis<strong> (Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 2 (Green)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Vaginitis <strong>(Option B ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 3 (White) (Non-herpetic)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Genital ulcers <strong>(Option C ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 4 (Blue) (non-herpetic) in patient allergic to penicillin</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Genital ulcers <strong>(Option D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 5 (Red) (herpetic)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Genital ulcers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 6 (Yellow)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain (PID)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 7 (Black)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Inguinal bubo</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of bags are used for the disposal of chemical waste?", "options": [{"label": "A", "text": "Yellow", "correct": true}, {"label": "B", "text": "White", "correct": false}, {"label": "C", "text": "Red", "correct": false}, {"label": "D", "text": "Green", "correct": false}], "correct_answer": "A. Yellow", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Yellow</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Example of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Treatment and disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Yellow (Option A)</strong></p>\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</p>\n</li>\n<li>\n<p>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</p>\n</li>\n<li>\n<p>Soiled waste.</p>\n</li>\n<li>\n<p>Discarded or expired medicine.</p>\n</li>\n<li>\n<p>Microbiology, <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</p>\n</li>\n<li>\n<p>Chemical waste.</p>\n</li>\n<li>\n<p>Chemical liquid waste.</p>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Placenta.</p>\n</li>\n<li>\n<p>Post-operative body parts.</p>\n</li>\n<li>\n<p>Plaster of Paris (POP).</p>\n</li>\n<li>\n<p>Pathological waste.</p>\n</li>\n<li>\n<p>Cotton waste.</p>\n</li>\n<li>\n<p>Dressing materials.</p>\n</li>\n<li>\n<p>Beddings.</p>\n</li>\n<li>\n<p>Body fluid contaminated paper and cloth.</p>\n</li>\n<li>\n<p>Face mask, cap, shoe cover and head cover.</p>\n</li>\n<li>\n<p>Cytotoxic, expired and discarded medicines.</p>\n</li>\n<li>\n<p>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</p>\n</li>\n<li>\n<p>Blood bag</p>\n</li>\n<li>\n<p>Vacutainers with blood</p>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Incineration.</p>\n</li>\n<li>\n<p>Plasma pyrolysis.</p>\n</li>\n<li>\n<p>Deep burial.</p>\n</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Red (Option C)</strong></p>\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Contaminated waste that is recyclable.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Syringe without needles.</p>\n</li>\n</ul>\n<ul>\n<li>\n<p>Fixed needle syringes with their needle cut.</p>\n</li>\n<li>\n<p>IVset.</p>\n</li>\n<li>\n<p>Catheters.</p>\n</li>\n<li>\n<p>Gloves (soiled or unsoiled).</p>\n</li>\n<li>\n<p>Urine bag.</p>\n</li>\n<li>\n<p>Dialysis kit.</p>\n</li>\n<li>\n<p>IVbottles.</p>\n</li>\n<li>\n<p>Tubing's.</p>\n</li>\n<li>\n<p>Bottles.</p>\n</li>\n<li>\n<p>Vacutainers with needle cut.</p>\n</li>\n<li>\n<p>Vacutainers without blood.</p>\n</li>\n<li>\n<p>ELISA plate and vials not containing blood samples.</p>\n</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Autoclaving or microwaving/ hydroclaving followed by shredding or</p>\n</li>\n</ul>\n<p>mutilation and waste set to registered recyclers or for energy</p>\n<p>recovery/road making.</p>\n<ul>\n<li>\n<p>Plastic waste should not be sent to landfill sites.</p>\n</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>White (Option B)</strong></p>\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste Sharps</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Needles</p>\n</li>\n<li>\n<p>Syringes with fixed needles</p>\n</li>\n<li>\n<p>Blades</p>\n</li>\n<li>\n<p>Scalpers</p>\n</li>\n<li>\n<p>Trocar cannula</p>\n</li>\n<li>\n<p>Insulin pen needle</p>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Puncture proof , Leak proof, Tamper proof containers</p>\n</li>\n<li>\n<p>Autoclaving or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or <span class=\"customMeta\" data-dictid=\"5a7f7caa7716927771870658b1c5cf\">encapsulation</span> in metal container or <span class=\"customMeta\" data-dictid=\"d8691a48a91692777184708a8f2f0c\">cement</span> concrete</p>\n</li>\n<li>\n<p>Or sent for final disposal to iron foundries or <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> landfill or designated concrete waste sharp pit</p>\n</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Glassware or <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Includes broken or discarded glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> objects that are contaminated.</p>\n</li>\n<li>\n<p>Glass:</p>\n<ul>\n<li>\n<p>Broken glass.</p>\n</li>\n<li>\n<p>Ampoules.</p>\n</li>\n<li>\n<p>Lab slide</p>\n</li>\n</ul>\n</li>\n<li>\n<p>Metals:</p>\n<ul>\n<li>\n<p>Nails.</p>\n</li>\n<li>\n<p>Metallic body implants.</p>\n</li>\n<li>\n<p>Scissors.</p>\n</li>\n<li>\n<p>Artificial pacemakers.</p>\n</li>\n</ul>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>\n<p>Cardboard boxes with blue coloured marking or blue coloured puncture- proof and tamper-proof containers.</p>\n</li>\n<li>\n<p>Disinfection (cleaning with <span class=\"customMeta\" data-dictid=\"24ff542ee616927771865a28edbc12\">detergent</span> and soaking in sodium hypochlorite) or autoclaving or microwaving or hydroclaving and then sent for recycling.</p>\n</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following items is placed in the yellow bag for disposal?", "options": [{"label": "A", "text": "Blood bag", "correct": true}, {"label": "B", "text": "Gloves", "correct": false}, {"label": "C", "text": "Sharps", "correct": false}, {"label": "D", "text": "Urine bag", "correct": false}], "correct_answer": "A. Blood bag", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Example of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Treatment and disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Yellow </strong></p>\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Soiled waste.</li>\n<li>Discarded or expired medicine.</li>\n<li>Microbiology, <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n<li>Chemical waste.</li>\n<li>Chemical liquid waste.</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Placenta.</li>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover and head cover.</li>\n<li>Cytotoxic, expired and discarded medicines.</li>\n<li>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</li>\n<li>Blood bag <strong>(Option A)</strong></li>\n<li>Vacutainers with blood</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incineration.</li>\n<li>Plasma pyrolysis.</li>\n<li>Deep burial.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Red</strong></p>\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Contaminated waste that is recyclable.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Syringe without needles.</li>\n<li>Fixed needle syringes with their needle cut.</li>\n<li>IVset.</li>\n<li>Catheters.</li>\n<li>Gloves (soiled or unsoiled). <strong>(Option B)</strong></li>\n<li>Urine bag. <strong>(Option D)</strong></li>\n<li>Dialysis kit.</li>\n<li>IVbottles.</li>\n<li>Tubing's.</li>\n<li>Bottles.</li>\n<li>Vacutainers with needle cut.</li>\n<li>Vacutainers without blood.</li>\n<li>ELISA plate and vials not containing blood samples.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/ hydroclaving followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> and waste set to registered recyclers or for energy recovery/road making.</li>\n<li>Plastic waste should not be sent to landfill sites.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>White</strong></p>\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste Sharps <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Needles</li>\n<li>Syringes with fixed needles</li>\n<li>Blades</li>\n<li>Scalpers</li>\n<li>Trocar cannula</li>\n<li>Insulin pen needle</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Puncture proof , Leak proof, Tamper proof containers</li>\n<li>Autoclaving or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or <span class=\"customMeta\" data-dictid=\"5a7f7caa7716927771870658b1c5cf\">encapsulation</span> in metal container or <span class=\"customMeta\" data-dictid=\"d8691a48a91692777184708a8f2f0c\">cement</span> concrete</li>\n<li>Or sent for final disposal to iron foundries or <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> landfill or designated concrete waste sharp pit</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Blue</strong></p>\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Glassware or <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Includes broken or discarded glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> objects that are contaminated.</li>\n<li>Glass:\n\t\t\t\t<ul>\n<li>Broken glass.</li>\n<li>Ampoules.</li>\n<li>Lab slide</li>\n</ul>\n</li>\n<li>Metals:\n\t\t\t\t<ul>\n<li>Nails.</li>\n<li>Metallic body implants.</li>\n<li>Scissors.</li>\n<li>Artificial pacemakers.</li>\n</ul>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue coloured marking or blue coloured puncture- proof and tamper-proof containers.</li>\n<li>Disinfection (cleaning with <span class=\"customMeta\" data-dictid=\"24ff542ee616927771865a28edbc12\">detergent</span> and soaking in sodium hypochlorite) or autoclaving or microwaving or hydroclaving and then sent for recycling.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which compound is primarily responsible for the disinfectant properties of bleaching powder among the following options?", "options": [{"label": "A", "text": "Hypochlorite ion", "correct": false}, {"label": "B", "text": "Hydrochloric acid", "correct": false}, {"label": "C", "text": "Hypochlorous acid", "correct": true}, {"label": "D", "text": "Chloride ion", "correct": false}], "correct_answer": "C. Hypochlorous acid", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the duration of the extended sickness benefit provided to an employee who has been diagnosed with TB?", "options": [{"label": "A", "text": "1 year", "correct": false}, {"label": "B", "text": "2 years", "correct": true}, {"label": "C", "text": "3 years", "correct": false}, {"label": "D", "text": "4 years", "correct": false}], "correct_answer": "B. 2 years", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:701px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Benefits of ESI(Employees State Insurance) Act.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Medical Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Provides \"full medical care,\" including <span class=\"customMeta\" data-dictid=\"277d6f3ee2169277718938e321258f\">hospitalization</span> <span class=\"customMeta\" data-dictid=\"1a8e8831bb1692777182ce2c8a751f\">at no</span> cost to insured individuals & families in cases of sickness, employment injury, and maternity.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sickness Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Provides 70% of average daily wages in cash during medical leave for a maximum of 91 days within 365 days, as certified by the Insurance Medical Officer/Practitioner.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Extended <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">Sickness</span> Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Extended coverage for long-term diseases beyond 91 days; 34 diseases covered if employed for <strong>two years.</strong></p>\n<p>Extended <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">sickness</span> benefit is paid at 80% of the insured person's wages.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Enhanced <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">Sickness</span> Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cash benefits (100% wages) for sterilisation procedures:\n\t\t\t\t<ul>\n<li>14 days for <span class=\"customMeta\" data-dictid=\"2a6989bad01692777201a73b82b799\">tubectomy</span> (women),</li>\n<li>7 days for <span class=\"customMeta\" data-dictid=\"8b8c53004d1692777201cf3df335f5\">vasectomy</span> (men).</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Maternity Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cash payments for childbirth, miscarriage, or pregnancy-related sickness:\n\t\t\t\t<ul>\n<li>26 weeks for childbirth,</li>\n<li>6 weeks for miscarriage, and</li>\n<li>40 days for pregnancy-related sickness.</li>\n</ul>\n</li>\n<li>Paid at 100% of the insured woman's average daily wages.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Disablement Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Temporary Disablement Benefit (TDB):\n\t\t\t\t<ul>\n<li>90% of wages paid from day one for temporary employment injury, until recovery.</li>\n</ul>\n</li>\n<li>Permanent Disablement Benefit (PDB):\n\t\t\t\t<ul>\n<li>90% of wages paid monthly for life, based on certified loss of earning capacity.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Dependent's Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Dependents receive 90% of the deceased's (due to employment injuries) wages as a shared pension, eligible until age 18 or earlier for married daughters.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Funeral Expenses</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Offers a cash payment up to Rs. 15,000 to cover funeral expenses upon the death of an insured individual.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Rehabilitation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Insured individuals and their families are entitled to continued medical treatment even after permanent disablement or retirement.</li>\n<li>They have to pay a <span class=\"customMeta\" data-dictid=\"01cc201eb616927771937a9ae6c669\">nominal</span> fee of Rs.10 per month to avail this benefit.</li>\n<li>Rehabilitation <span class=\"customMeta\" data-dictid=\"f8330e788f16927771812e4f73b80c\">allowance</span> of Rs.15,000 granted.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Unemployment allowance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>For eligible employees due to factory <span class=\"customMeta\" data-dictid=\"2b4569285f1692777184282b1ca3f1\">closure</span> or retrenchment: 50% of wage for up to two years.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As per the Factories Act 1948, what is the maximum number of work hours allowed per week, including any hours worked as overtime?", "options": [{"label": "A", "text": "48 hours", "correct": false}, {"label": "B", "text": "72 hours", "correct": false}, {"label": "C", "text": "60 hours", "correct": true}, {"label": "D", "text": "66 hours", "correct": false}], "correct_answer": "C. 60 hours", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Sharp waste is disposed of in?", "options": [{"label": "A", "text": "Yellow bag", "correct": false}, {"label": "B", "text": "Red bag", "correct": false}, {"label": "C", "text": "Blue bag", "correct": false}, {"label": "D", "text": "White bag", "correct": true}], "correct_answer": "D. White bag", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:685px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Type of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Example of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Treatment and disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Yellow (Option A ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Soiled waste.</li>\n<li>Discarded or expired medicine.</li>\n<li>Microbiology, <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n<li>Chemical waste.</li>\n<li>Chemical liquid waste.</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Placenta.</li>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover and head cover.</li>\n<li>Cytotoxic, expired and discarded medicines.</li>\n<li>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</li>\n<li>Blood bag</li>\n<li>Vacutainers with blood</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incineration.</li>\n<li>Plasma pyrolysis.</li>\n<li>Deep burial.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Red (Option B ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Contaminated waste that is recyclable.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Syringe without needles.</li>\n<li>Fixed needle syringes with their needle cut.</li>\n<li>IVset.</li>\n<li>Catheters.</li>\n<li>Gloves (soiled or unsoiled).</li>\n<li>Urine bag.</li>\n<li>Dialysis kit.</li>\n<li>IVbottles.</li>\n<li>Tubing's.</li>\n<li>Bottles.</li>\n<li>Vacutainers with needle cut.</li>\n<li>Vacutainers without blood.</li>\n<li>ELISA plate and vials not containing blood samples.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/ hydroclaving followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> and waste set to registered recyclers or for energy recovery/road making.</li>\n<li>Plastic waste should not be sent to landfill sites.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>White (Option D)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste Sharps</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Needles</li>\n<li>Syringes with fixed needles</li>\n<li>Blades</li>\n<li>Scalpers</li>\n<li>Trocar cannula</li>\n<li>Insulin pen needle</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Puncture proof , Leak proof, Tamper proof containers</li>\n<li>Autoclaving or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or <span class=\"customMeta\" data-dictid=\"5a7f7caa7716927771870658b1c5cf\">encapsulation</span> in metal container or <span class=\"customMeta\" data-dictid=\"d8691a48a91692777184708a8f2f0c\">cement</span> concrete</li>\n<li>Or sent for final disposal to iron foundries or <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> landfill or designated concrete waste sharp pit</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Blue</strong></p>\n<p><strong>(Option C ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Glassware or <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Includes broken or discarded glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> objects that are contaminated.</li>\n<li>Glass:\n\t\t\t\t<ul>\n<li>Broken glass.</li>\n<li>Ampoules.</li>\n<li>Lab slide</li>\n</ul>\n</li>\n<li>Metals:\n\t\t\t\t<ul>\n<li>Nails.</li>\n<li>Metallic body implants.</li>\n<li>Scissors.</li>\n<li>Artificial pacemakers.</li>\n</ul>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue coloured marking or blue coloured puncture- proof and tamper-proof containers.</li>\n<li>Disinfection (cleaning with <span class=\"customMeta\" data-dictid=\"24ff542ee616927771865a28edbc12\">detergent</span> and soaking in sodium hypochlorite) or autoclaving or microwaving or hydroclaving and then sent for recycling.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following bags are used for disposing of latex gloves after they have been used?", "options": [{"label": "A", "text": "Yellow", "correct": false}, {"label": "B", "text": "Red", "correct": true}, {"label": "C", "text": "Blue", "correct": false}, {"label": "D", "text": "Transparent", "correct": false}], "correct_answer": "B. Red", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - R\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the case of a child presenting with pharyngitis, when a throat swab is collected and sent for culture, in which colored bin should the used swab be disposed of?", "options": [{"label": "A", "text": "Red", "correct": false}, {"label": "B", "text": "Yellow", "correct": true}, {"label": "C", "text": "White", "correct": false}, {"label": "D", "text": "Blue", "correct": false}], "correct_answer": "B. Yellow", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Color</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Category of Waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Infectious waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste that may contain pathogens and poses a risk of infection.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Contaminated dressings, swabs, body fluids, soiled <span class=\"customMeta\" data-dictid=\"81d12f9cb01692777199e44ff3f3c1\">surgical</span> items</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Red (Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Contaminated waste</strong> (non-infectious)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste that has been contaminated with bodily fluids but is not infectious.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Non-sharp waste like plastic, tubing, syringes (without needles), and items used in medical treatments</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Blue (Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Glass waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste consisting of broken glassware or other glass items.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Glass vials, ampoules, broken glass containers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>White (Translucent) (Option C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sharp waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste items that can cut or puncture, requiring careful handling.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Needles, syringes with needles, scalpels, razors, and broken glass</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Black</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>General or non-biomedical waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Non-hazardous waste that is not contaminated by biological or medical waste.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Paper, packaging, non-infectious non-medical waste</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A patient admitted following a road traffic accident has left a blood spill on the hospital floor. Which disinfectant is most appropriate for effectively decontaminating the area?", "options": [{"label": "A", "text": "Ethyl alcohol", "correct": false}, {"label": "B", "text": "Chlorhexidine", "correct": false}, {"label": "C", "text": "Sodium hypochlorite", "correct": true}, {"label": "D", "text": "Formaldehyde", "correct": false}], "correct_answer": "C. Sodium hypochlorite", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Step</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>1. PPE</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wear Personal Protective Equipment (PPE)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Gloves, goggles/face shield, gown/apron, mask (if necessary) to protect from exposure.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>2. Control the Spill Area</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Secure and contain the spill</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Alert others, prevent access, and use <span class=\"customMeta\" data-dictid=\"0dd21d51461692777180c0b4a3eca8\">absorbent</span> materials (e.g., paper towels) to contain the spill.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>3. Select and Apply Disinfectant</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Use appropriate disinfectant</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sodium <span class=\"customMeta\" data-dictid=\"183f5ac20a16927771890da7bafd33\">hypochlorite</span> (1%)</strong> is preferred. Apply <span class=\"customMeta\" data-dictid=\"7d0c70b0de1692777186c7cebb9a81\">disinfectant</span> to the spill and allow it to sit for 10 minutes.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>4. Clean the Spill</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wipe the area with <span class=\"customMeta\" data-dictid=\"0dd21d51461692777180c0b4a3eca8\">absorbent</span> materials</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Use disposable towels or wipes to clean up the blood and dispose of them in <span class=\"customMeta\" data-dictid=\"73042b3eae1692777183ca9718a84d\">biohazard</span> waste.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>5. <span class=\"customMeta\" data-dictid=\"e6cfd00622169277718663c52b160c\">Disinfect</span> Surrounding Area</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Clean the surrounding floor or surfaces</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Mop or wipe down the surrounding area with <span class=\"customMeta\" data-dictid=\"7d0c70b0de1692777186c7cebb9a81\">disinfectant</span> to ensure thorough decontamination.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>6. Dispose of Contaminated Items</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Safely dispose of contaminated materials</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Place used gloves, mop heads, towels, and any contaminated materials in a <strong>biohazard waste</strong> container.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>7. Remove and Dispose of PPE</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Safely remove PPE and dispose of it</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Remove gloves last, ensuring that they are turned inside out. Dispose of PPE in <span class=\"customMeta\" data-dictid=\"73042b3eae1692777183ca9718a84d\">biohazard</span> waste containers.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>8. Wash Hands</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Clean hands thoroughly after cleaning</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wash hands with soap and water, or use alcohol-based hand sanitizer if soap is unavailable.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>9. Documentation and Reporting</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Record the incident and inform relevant departments</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Document the blood spill and cleaning procedure, and report any potential exposures to infection control.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the hospital ward, the nurse arranges the bins as depicted in the image. Which of the subsequent items should be disposed of in the black bin?", "options": [{"label": "A", "text": "Soiled linen bedsheet", "correct": false}, {"label": "B", "text": "Glove paper cover", "correct": true}, {"label": "C", "text": "Gloves", "correct": false}, {"label": "D", "text": "Contaminated gloves", "correct": false}], "correct_answer": "B. Glove paper cover", "question_images": ["https://image.prepladder.com/notes/yCEBCPTSOXsLRaEUFsfC1747046244.png"], "explanation_images": [], "explanation": "<table>\n<tbody>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Colour</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Type of waste</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Example of waste</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Treatment and disposal</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Yellow</p>\n<p> </p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Soiled waste.</li>\n<li> Discarded or expired medicine.</li>\n<li>Microbiology, <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n<li>Chemical waste.</li>\n<li>Chemical liquid waste.</li>\n</ul>\n<p> </p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Placenta.</li>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover and head cover.</li>\n<li>Cytotoxic, expired and discarded medicines.</li>\n<li>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</li>\n<li>Blood bag</li>\n<li>Vacutainers with blood</li>\n</ul>\n<p> </p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Incineration.</li>\n<li>Plasma pyrolysis.</li>\n<li>Deep burial.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Red</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Contaminated waste that is recyclable.</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Syringe without needles.</li>\n</ul>\n<ul>\n<li>Fixed needle syringes with their needle cut.</li>\n<li>IVset.</li>\n<li>Catheters.</li>\n<li>Gloves (soiled or unsoiled).</li>\n<li>Urine bag.</li>\n<li>Dialysis kit.</li>\n<li>IVbottles.</li>\n<li>Tubing's.</li>\n<li>Bottles.</li>\n<li>Vacutainers with needle cut.</li>\n<li>Vacutainers without blood.</li>\n<li>ELISA plate and vials not containing blood samples.</li>\n</ul>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Autoclaving or microwaving/ hydroclaving followed by shredding or</li>\n</ul>\n<p>mutilation and waste set to registered recyclers or for energy</p>\n<p>recovery/road making.</p>\n<ul>\n<li>Plastic waste should not be sent to landfill sites.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>White</p>\n<p> </p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Waste Sharps</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Needles</li>\n<li>Syringes with fixed needles</li>\n<li>Blades</li>\n<li>Scalpers</li>\n<li>Trocar cannula</li>\n<li>Insulin pen needle</li>\n</ul>\n<p> </p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Puncture proof , Leak proof, Tamper proof containers</li>\n<li>Autoclaving or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or <span class=\"customMeta\" data-dictid=\"5a7f7caa7716927771870658b1c5cf\">encapsulation</span> in metal container or <span class=\"customMeta\" data-dictid=\"d8691a48a91692777184708a8f2f0c\">cement</span> concrete</li>\n<li>Or sent for final disposal to iron foundries or <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> landfill or designated concrete waste sharp pit</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Blue</p>\n<p> </p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Glassware or <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Includes broken or discarded glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> objects that are contaminated.</li>\n<li>Glass:</li>\n</ul>\n<ul>\n<li>Broken glass.</li>\n<li>Ampoules.</li>\n<li>Lab slide</li>\n</ul>\n<ul>\n<li>Metals:</li>\n</ul>\n<ul>\n<li>Nails.</li>\n<li>Metallic body implants.</li>\n<li>Scissors.</li>\n<li>Artificial pacemakers.</li>\n</ul>\n<p> </p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Cardboard boxes with blue coloured marking or blue coloured puncture- proof and tamper-proof containers.</li>\n<li>Disinfection (cleaning with <span class=\"customMeta\" data-dictid=\"24ff542ee616927771865a28edbc12\">detergent</span> and soaking in sodium hypochlorite) or autoclaving or microwaving or hydroclaving and then sent for recycling.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the primary method of absorption of inorganic lead in industrial settings that can result in lead poisoning?", "options": [{"label": "A", "text": "Absorption through skin", "correct": false}, {"label": "B", "text": "Inhaled lead dust", "correct": true}, {"label": "C", "text": "Ingestion of contaminated food and water", "correct": false}, {"label": "D", "text": "Contaminated hands", "correct": false}], "correct_answer": "B. Inhaled lead dust", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most frequent association of lung malignancy?", "options": [{"label": "A", "text": "Asbestosis", "correct": true}, {"label": "B", "text": "Silicosis", "correct": false}, {"label": "C", "text": "Bagassosis", "correct": false}, {"label": "D", "text": "Byssinosis", "correct": false}], "correct_answer": "A. Asbestosis", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Arrange the order of the Disaster management cycle", "options": [{"label": "A", "text": "Impact-response-rehabilitation-mitigation", "correct": true}, {"label": "B", "text": "Rehabilitation-response-impact-mitigation", "correct": false}, {"label": "C", "text": "Response-disaster-rehabilitation-mitigation", "correct": false}, {"label": "D", "text": "Impact-mitigation-response-rehabilitation", "correct": false}], "correct_answer": "A. Impact-response-rehabilitation-mitigation", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/04a4IzTa0YKTCquUFfpE1747307300.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The needle with the syringe is disposed of in which container?", "options": [{"label": "A", "text": "Yellow", "correct": false}, {"label": "B", "text": "Red", "correct": false}, {"label": "C", "text": "Blue", "correct": false}, {"label": "D", "text": "White", "correct": true}], "correct_answer": "D. White", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Example of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Treatment and disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Yellow (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Soiled waste.</li>\n<li>Discarded or expired medicine.</li>\n<li>Microbiology, <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n<li>Chemical waste.</li>\n<li>Chemical liquid waste.</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Placenta.</li>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover and head cover.</li>\n<li>Cytotoxic, expired and discarded medicines.</li>\n<li>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</li>\n<li>Blood bag</li>\n<li>Vacutainers with blood</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incineration.</li>\n<li>Plasma pyrolysis.</li>\n<li>Deep burial.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Red (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Contaminated waste that is recyclable.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Syringe without needles.</li>\n<li>Fixed needle syringes with their needle cut.</li>\n<li>IVset.</li>\n<li>Catheters.</li>\n<li>Gloves (soiled or unsoiled).</li>\n<li>Urine bag.</li>\n<li>Dialysis kit.</li>\n<li>IVbottles.</li>\n<li>Tubing's.</li>\n<li>Bottles.</li>\n<li>Vacutainers with needle cut.</li>\n<li>Vacutainers without blood.</li>\n<li>ELISA plate and vials not containing blood samples.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/ hydroclaving followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> and waste set to registered recyclers or for energy recovery/road making.</li>\n<li>Plastic waste should not be sent to landfill sites.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>White (Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste Sharps</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Needles</li>\n<li>Syringes with fixed needles</li>\n<li>Blades</li>\n<li>Scalpers</li>\n<li>Trocar cannula</li>\n<li>Insulin pen needle</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Puncture proof , Leak proof, Tamper proof containers</li>\n<li>Autoclaving or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or <span class=\"customMeta\" data-dictid=\"5a7f7caa7716927771870658b1c5cf\">encapsulation</span> in metal container or <span class=\"customMeta\" data-dictid=\"d8691a48a91692777184708a8f2f0c\">cement</span> concrete</li>\n<li>Or sent for final disposal to iron foundries or <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> landfill or designated concrete waste sharp pit</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Blue (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Glassware or <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Includes broken or discarded glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> objects that are contaminated.</li>\n<li>Glass:\n\t\t\t\t<ul>\n<li>Broken glass.</li>\n<li>Ampoules.</li>\n<li>Lab slide</li>\n</ul>\n</li>\n<li>Metals:\n\t\t\t\t<ul>\n<li>Nails.</li>\n<li>Metallic body implants.</li>\n<li>Scissors.</li>\n<li>Artificial pacemakers.</li>\n</ul>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue coloured marking or blue coloured puncture- proof and tamper-proof containers.</li>\n<li>Disinfection (cleaning with <span class=\"customMeta\" data-dictid=\"24ff542ee616927771865a28edbc12\">detergent</span> and soaking in sodium hypochlorite) or autoclaving or microwaving or hydroclaving and then sent for recycling.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Patients requiring immediate life-threatening care are categorized under which of the following triages?", "options": [{"label": "A", "text": "Red", "correct": true}, {"label": "B", "text": "Yellow", "correct": false}, {"label": "C", "text": "Green", "correct": false}, {"label": "D", "text": "Black", "correct": false}], "correct_answer": "A. Red", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A – R\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which pneumoconiosis is caused by exposure to cotton dust?", "options": [{"label": "A", "text": "Byssinosis", "correct": true}, {"label": "B", "text": "Bagassosis", "correct": false}, {"label": "C", "text": "Anthracosis", "correct": false}, {"label": "D", "text": "Silicosis", "correct": false}], "correct_answer": "A. Byssinosis", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- B\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the recommended area per worker in a factory, considering that any height above a specified limit is not taken into account?", "options": [{"label": "A", "text": "100 cubic feet", "correct": false}, {"label": "B", "text": "500 cubic feet", "correct": true}, {"label": "C", "text": "300 cubic feet", "correct": false}, {"label": "D", "text": "400 cubic feet", "correct": false}], "correct_answer": "B. 500 cubic feet", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B- 500 cubic feet</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Factory Act</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>An establishment employing 10 or more workers where power is used or 20 or more workers where power is not used.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Applicability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Applies to all of India and covers all factories, including <span class=\"customMeta\" data-dictid=\"231e76e11c1692777195bd586f5b59\">perennial</span> and <span class=\"customMeta\" data-dictid=\"201a6ea7721692777198c51d735506\">seasonal</span> factories.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Age Restrictions</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Prohibits employment of children below 14 years of age.</li>\n<li>15-18 year olds need fitness certificate for factory work from a certified surgeon</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hours of Work</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Work limited to 48 hours/week or 9 hours/day; max 60 hours/week with overtime.</li>\n<li>Adolescents: max 4.5 hours/day.</li>\n<li>Women and adolescents: work hours 6 am to 7 pm.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Leave</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Grants 1 day of leave per 15 days of work for adolescents</li>\n<li>1 day per 30 days of work for adults.</li>\n<li>Permits accumulation of leaves up to 40 days for adolescents and 30 days for adults.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Health & Safety</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Mandates a <strong>minimum of 500 cubic <span class=\"customMeta\" data-dictid=\"32656dc8ba1692777202fc49f9ed13\">feet</span> of space per worker.</strong></li>\n<li>Requires 1 safety officer per 1000 workers.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Welfare</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Stipulates 1 welfare officer per 500 workers, 1 canteen per 250 workers, and 1 <span class=\"customMeta\" data-dictid=\"4751516864169277718500f84f5fb3\">crèche</span> per 30 women workers.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Heart of sewage disposal plant:", "options": [{"label": "A", "text": "Primary sedimentation tank", "correct": false}, {"label": "B", "text": "Aeration tank", "correct": true}, {"label": "C", "text": "Secondary sedimentation tank", "correct": false}, {"label": "D", "text": "Sludge digestion tank", "correct": false}], "correct_answer": "B. Aeration tank", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Xi77LvZaoEYeeiiLBsk01747378132.png"], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"ec8505f749169277718070157610a9\">Aeration</span> tank\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which phases of the disaster cycle can be included in the recovery phase (multiple choice)? Response Rehabilitation Mitigation Preparedness", "options": [{"label": "A", "text": "1 and 2", "correct": true}, {"label": "B", "text": "1 and 3", "correct": false}, {"label": "C", "text": "2 and 3", "correct": false}, {"label": "D", "text": "3 and 4", "correct": false}], "correct_answer": "A. 1 and 2", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Gl8KwxeT8BbMQiQ9TVc61747851932.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which benefit does a patient receive when seeking treatment at an ESI hospital under the ESI Act?", "options": [{"label": "A", "text": "Sickness benefit", "correct": false}, {"label": "B", "text": "Medical benefit", "correct": true}, {"label": "C", "text": "Maternity benefit", "correct": false}, {"label": "D", "text": "Dependent's benefit", "correct": false}], "correct_answer": "B. Medical benefit", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - Medical benefit</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Benefits of ESI (Employees State Insurance) Act</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Medical Benefit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Provides \"full medical care,\" including <span class=\"customMeta\" data-dictid=\"277d6f3ee2169277718938e321258f\">hospitalization</span> <span class=\"customMeta\" data-dictid=\"1a8e8831bb1692777182ce2c8a751f\">at no</span> cost to insured individuals & families in cases of sickness, employment injury, and maternity.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sickness Benefit <strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Provides <strong>70% </strong>of average daily wages in cash <strong>during medical leave </strong>for a maximum of 91 days within 365 days, as certified by the Insurance Medical Officer/Practitioner.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Extended </strong>Sickness Benefit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Extended coverage for long-term diseases beyond 91 days; 34 diseases covered if employed for two years.</li>\n<li>Extended <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">sickness</span> benefit is paid at <strong>80%</strong> of the insured person's wages.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Enhanced </strong>Sickness Benefit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cash benefits (100% wages) for <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> procedures:\n\t\t\t\t<ul>\n<li>14 days for <span class=\"customMeta\" data-dictid=\"2a6989bad01692777201a73b82b799\">tubectomy</span> (women),</li>\n<li>7 days for <span class=\"customMeta\" data-dictid=\"8b8c53004d1692777201cf3df335f5\">vasectomy</span> (men).</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Maternity Benefit <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cash payments for childbirth, miscarriage, or pregnancy-related sickness:\n\t\t\t\t<ul>\n<li>26 weeks for childbirth,</li>\n<li>6 weeks for miscarriage, and</li>\n<li>40 days for pregnancy-related sickness.</li>\n</ul>\n</li>\n<li>Paid at 100% of the insured woman's average daily wages.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Disablement Benefit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Temporary Disablement Benefit (TDB):\n\t\t\t\t<ul>\n<li>90% of wages paid from day one for temporary employment injury, until recovery.</li>\n</ul>\n</li>\n<li>Permanent Disablement Benefit (PDB):\n\t\t\t\t<ul>\n<li>90% of wages paid monthly for life, based on certified loss of earning capacity.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Dependent's Benefit <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Dependents receive 90% of the deceased's (due to employment injuries) wages as a shared pension, and they are eligible until age 18.</li>\n<li><strong>If the daughter marries before 18, the benefit is withdrawn. </strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Funeral Expenses</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>It offers a cash payment of up to<strong> Rs. 15,000 </strong>to cover funeral expenses upon the death of an insured individual.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rehabilitation</p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Insured individuals and their families are entitled to continued medical treatment after permanent disablement or retirement.</li>\n<li>They have to pay a <span class=\"customMeta\" data-dictid=\"01cc201eb616927771937a9ae6c669\">nominal</span> fee of Rs.10 per month for this benefit.</li>\n<li>A rehabilitation <span class=\"customMeta\" data-dictid=\"f8330e788f16927771812e4f73b80c\">allowance</span> of Rs.15,000 granted.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Unemployment allowance</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>For eligible employees due to factory <span class=\"customMeta\" data-dictid=\"2b4569285f1692777184282b1ca3f1\">closure</span> or retrenchment: 50% of wage for up to two years.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of waste in the following bag is disposed of through incineration?", "options": [{"label": "A", "text": "Yellow", "correct": true}, {"label": "B", "text": "Red", "correct": false}, {"label": "C", "text": "Blue", "correct": false}, {"label": "D", "text": "Black", "correct": false}], "correct_answer": "A. Yellow", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Yellow</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Waste Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of bag or container to be used</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Method of disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>All <strong>infectious </strong>waste.</li>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste</li>\n<li><strong>Soiled </strong>waste (contaminated with blood, body fluids, dressings and swabs, <strong>blood bags</strong>).</li>\n<li>Expired or discarded medicines</li>\n<li>Chemical waste.</li>\n<li><strong>Microbiological </strong>and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Yellow coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incineration</li>\n<li>Plasma pyrolysis</li>\n<li>Deep burial</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Red</strong></p>\n<p style=\"text-align: center;\"><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Contaminated waste (recyclable)</strong>: Tubing, bottles, <span class=\"customMeta\" data-dictid=\"27b78a96071692777190f4dfb93430\">intravenous</span> tubes and sets, catheters, <strong>urine bags</strong>, syringes (without needles), vacutainers and gloves.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Red coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/hydroclaving, and then sent for recycling (not to landfill).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Blue</strong></p>\n<p style=\"text-align: center;\"><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Glassware:</strong> Broken or discarded and contaminated glass including medicine vials and ampoules except those contaminated with cytotoxic waste.</li>\n<li><strong>Metallic body implants</strong>.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue coloured markings.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Disinfection or autoclaving/microwaving, hydroclaving and then sent to recycling.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>White</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Waste <strong>sharps </strong>including metals: Needles, syringes with fixed needles, scalpels or any other sharp object that may cause <span class=\"customMeta\" data-dictid=\"9af4bb5919169277719688aaf3f8e7\">puncture</span> and cuts.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Puncture proof and leak proof containers.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Auto or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding and <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or encapsulation.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What are the potential health risks faced by workers in a sugarcane factory?", "options": [{"label": "A", "text": "Anthracosis", "correct": false}, {"label": "B", "text": "Siderosis", "correct": false}, {"label": "C", "text": "Bagassosis", "correct": true}, {"label": "D", "text": "Byssinosis", "correct": false}], "correct_answer": "C. Bagassosis", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Bag\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As per the guidelines for disposing of biomedical waste, what color bag should be used to discard used cotton swabs?", "options": [{"label": "A", "text": "Yellow", "correct": true}, {"label": "B", "text": "Red", "correct": false}, {"label": "C", "text": "Blue", "correct": false}, {"label": "D", "text": "Transparent", "correct": false}], "correct_answer": "A. Yellow", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Yellow</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Waste Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of bag or container to be used</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Method of disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>All <strong>infectious </strong>waste.</li>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste</li>\n<li><strong>Soiled </strong>waste (contaminated with blood, body fluids, dressings and swabs, <strong>blood bags</strong>).</li>\n<li>Expired or discarded medicines</li>\n<li>Chemical waste.</li>\n<li><strong>Microbiological </strong>and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Yellow coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incineration</li>\n<li>Plasma pyrolysis</li>\n<li>Deep burial</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Red</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Contaminated waste (recyclable)</strong>: Tubing, bottles, <span class=\"customMeta\" data-dictid=\"27b78a96071692777190f4dfb93430\">intravenous</span> tubes and sets, catheters, <strong>urine bags</strong>, syringes (without needles), vacutainers and gloves.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Red coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/hydroclaving, and then sent for recycling (not to landfill).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Glassware:</strong> Broken or discarded and contaminated glass including medicine vials and ampoules except those contaminated with cytotoxic waste.</li>\n<li><strong>Metallic body implants</strong>.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue coloured markings.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Disinfection or autoclaving/microwaving, hydroclaving and then sent to recycling.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>White</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Waste <strong>sharps </strong>including metals: Needles, syringes with fixed needles, scalpels or any other sharp object that may cause <span class=\"customMeta\" data-dictid=\"9af4bb5919169277719688aaf3f8e7\">puncture</span> and cuts.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Puncture proof and leak proof containers.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Auto or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding and <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or encapsulation.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In controlled tipping, the amount of land required for the trench method to be practiced for a population of 10,000 is:", "options": [{"label": "A", "text": "4 acres", "correct": false}, {"label": "B", "text": "5 acres", "correct": false}, {"label": "C", "text": "2 acres", "correct": false}, {"label": "D", "text": "1 acre", "correct": false}], "correct_answer": "Unknown", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - 1 acre</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Methods of Refuse Disposal</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p><strong>1. Dumping:</strong> Unsatisfactory; becomes a nuisance.</p>\n<p><strong>2.</strong> <strong>Controlled <span class=\"customMeta\" data-dictid=\"ca71df0bba1692777200f4d0d60421\">Tipping</span> (Sanitary Landfill):</strong> Most satisfactory; achieved via trench, ramp, and area methods.</p>\n<ul>\n<li><strong>Modified <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">Sanitary</span> Landfill:</strong> Compacting and covering are done once or twice a week</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Methods of controlled tipping</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p><strong>a. Trench Method:</strong></p>\n<ul>\n<li>Used on level ground.</li>\n<li>Most important method</li>\n<li>Dug on level ground, 2-3 meters deep and 4-12 meters wide.</li>\n<li>For a population of 10,000, a 2-meter-deep trench requires 1 acre of land.</li>\n</ul>\n<p><strong>b.</strong> <strong>Ramp Method:</strong> For moderately sloping terrain</p>\n<p><strong>c. Area Method:</strong> Requires supplemental earth, used in depressions or quarries.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Technique in controlled tipping</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Physical, chemical, and bacteriological changes occur in buried refuse.</li>\n<li>Temperature rises to 60°C after 7 days, killing pathogens, followed by decomposition.</li>\n<li>Organic matter decomposes into <span class=\"customMeta\" data-dictid=\"f4cf2eb2351692777190992f264326\">innocuous</span> soil in 4-6 months, used as manure</li>\n<li>Cooling occurs within 2-3 weeks.</li>\n<li>Final product: Manure used in farming.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Please select the appropriate sequence of actions for disaster management.", "options": [{"label": "A", "text": "Disaster impact — Mitigation — Rehabilitation — Response", "correct": false}, {"label": "B", "text": "Disaster impact — Response— Rehabilitation — Mitigation", "correct": true}, {"label": "C", "text": "Rehabilitation — Response — Disaster Impact — Mitigation", "correct": false}, {"label": "D", "text": "Response — Disaster impact — Mitigation — Rehabilitation", "correct": false}], "correct_answer": "B. Disaster impact — Response— Rehabilitation — Mitigation", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/mk06aTvEuFE7oiiWoZic1715065309.png"], "explanation": "<p>Correct Option B. Disaster impact - Response - Rehabilitation - Mitig\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The symbol shown in the image depicts", "options": [{"label": "A", "text": "Cytotoxic waste", "correct": false}, {"label": "B", "text": "Biomedical waste", "correct": false}, {"label": "C", "text": "Radiation hazard", "correct": true}, {"label": "D", "text": "Biohazard", "correct": false}], "correct_answer": "C. Radiation hazard", "question_images": ["https://image.prepladder.com/content/QUxSCkNtS2pLVv0AwffM1715061733.png"], "explanation_images": [], "explanation": "<p>Correct Option C-Radiation h\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Biomedical waste management</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Radiation hazard logo</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Recycling logo</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What should you do immediately if you accidentally spill some blood on the floor while collecting samples?", "options": [{"label": "A", "text": "Call the infection control team of the hospital", "correct": false}, {"label": "B", "text": "Mop it", "correct": false}, {"label": "C", "text": "Cover it with 1% sodium hypochlorite", "correct": false}, {"label": "D", "text": "Clean with absorbable material", "correct": true}], "correct_answer": "D. Clean with absorbable material", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D-Clean with <span class=\"customMeta\" data-dictid=\"330e2bf7d216927771804326d05181\">absorbable</span&g\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Please arrange the following coloured dustbins according to the type of biomedical waste they are meant for. Column A Column B Catheter Torn registration forms Expired vaccine Antibiotic bottle A. Black B. Red C. Blue D. Yellow E. White", "options": [{"label": "A", "text": "1-A; 2-B; 3-C, 4-D", "correct": false}, {"label": "B", "text": "1-B; 2-E; 3-D, 4-C", "correct": false}, {"label": "C", "text": "1-B; 2-A; 3-D, 4-C", "correct": true}, {"label": "D", "text": "1-B; 2-C; 3-D, 4-E", "correct": false}], "correct_answer": "C. 1-B; 2-A; 3-D, 4-C", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/NupwsLoOoTMOh8DeGECE1714560942.png", "https://image.prepladder.com/content/PHmwQ3Mxg8xehEXXD26W1715082989.png", "https://image.prepladder.com/content/ky36hC76Je6GtQXZjvCr1715083013.png", "https://image.prepladder.com/content/4ZiD5iijFu3AXZZQZj5W1714560942.png"], "explanation": "<p>Correct Option C -1-B; 2-A; 3-D, 4-C\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Colour</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Waste type</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Method of disposal</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Yellow</p>\n<p><img src=\"https://image.prepladder.com/content/NupwsLoOoTMOh8DeGECE1714560942.png\" style=\"height:209px; width:300px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Infectious.</li>\n<li>May or may not be pretreated.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Incineration</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Red</p>\n<p><img src=\"https://image.prepladder.com/content/PHmwQ3Mxg8xehEXXD26W1715082989.png\" style=\"height:207px; width:300px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Infectious.</li>\n<li>Rubber, plastic, tube.</li>\n<li>No pretreatment.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recycling or reuse.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Blue</p>\n<p><img src=\"https://image.prepladder.com/content/ky36hC76Je6GtQXZjvCr1715083013.png\" style=\"height:136px; width:300px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> implants.</li>\n<li>No pretreatment.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recycling or reuse.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>White</p>\n<p><img src=\"https://image.prepladder.com/content/4ZiD5iijFu3AXZZQZj5W1714560942.png\" style=\"height:174px; width:300px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Sharps.</li>\n<li>No pretreatment.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recycling or reuse after shredding.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the phase(s) of the disaster cycle that occurs before the impact of the disaster?", "options": [{"label": "A", "text": "Disaster response", "correct": false}, {"label": "B", "text": "Medial relief and rehabilitation", "correct": false}, {"label": "C", "text": "Mitigation and preparedness", "correct": true}, {"label": "D", "text": "Rehabilitation", "correct": false}], "correct_answer": "C. Mitigation and preparedness", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/eeqwrEdsX6THJpkxNx3k1714559319.png"], "explanation": "<p>Correct Option C-Mitig\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the options listed below pertains to the field of Disaster management, which deals with the mitigation and response to abrupt, devastating incidents that significantly impede the operations of a community or society, resulting in human, material, and economic or environmental consequences?", "options": [{"label": "A", "text": "Ministry of Health", "correct": false}, {"label": "B", "text": "Ministry of HRD", "correct": false}, {"label": "C", "text": "Ministry of Home", "correct": true}, {"label": "D", "text": "Ministry of Agriculture", "correct": false}], "correct_answer": "C. Ministry of Home", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C-Ministry of H\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Nodal Ministry of Disaster Response</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Responsible for overall <span class=\"customMeta\" data-dictid=\"3820ba101416927771858fe257e119\">coordination</span> of disaster management.</li>\n<li>Ministry: Ministry of Home Affairs.</li>\n<li>Chairperson: Prime Minister</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>National Disaster Management Authority</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prepares disaster management plans at national level.</li>\n<li>Responsible for execution of disaster management functions at the national level.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>National Institute of Disaster Management</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Responsible for capacity building, training, research, and for building a national base</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Human anatomical wastes are disposed of in the ____ BMW category?", "options": [{"label": "A", "text": "Red", "correct": false}, {"label": "B", "text": "Yellow", "correct": true}, {"label": "C", "text": "White", "correct": false}, {"label": "D", "text": "Blue", "correct": false}], "correct_answer": "B. Yellow", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Z5u5nOQpt3w5gjCDLxAJ1714558642.png"], "explanation": "<p>Correct Option B - Y\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How are cytotoxic and expired drugs typically disposed of?", "options": [{"label": "A", "text": "Dumping", "correct": false}, {"label": "B", "text": "Autoclave", "correct": false}, {"label": "C", "text": "Incineration", "correct": true}, {"label": "D", "text": "Chemical disinfection", "correct": false}], "correct_answer": "C. Incineration", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C: I\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the statements below is correct regarding the Factories Act?", "options": [{"label": "A", "text": "Children under 14 years of age must not be employed in factories", "correct": true}, {"label": "B", "text": "A child of 16 years can be employed only between 6 AM and 8 PM", "correct": false}, {"label": "C", "text": "The maximum working hours for an adult is 72 hours per week", "correct": false}, {"label": "D", "text": "A child of 16 years can work till 5 hours per day", "correct": false}], "correct_answer": "A. Children under 14 years of age must not be employed in factories", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A: Children under 14 years of age mu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the likelihood of genetic diseases occurring in a consanguineous marriage between first cousins?", "options": [{"label": "A", "text": "1-2%", "correct": false}, {"label": "B", "text": "4-8%", "correct": true}, {"label": "C", "text": "8-10%", "correct": false}, {"label": "D", "text": "12-14%", "correct": false}], "correct_answer": "B. 4-8%", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "During disaster management, triage is implemented to ensure that casualties receive appropriate treatment. Which statement accurately describes the triage process conducted at the disaster site?", "options": [{"label": "A", "text": "First come first treated basis", "correct": false}, {"label": "B", "text": "Green labels are for those who need to be transported on priority", "correct": false}, {"label": "C", "text": "Moribund patients receive the lowest priority", "correct": true}, {"label": "D", "text": "Most commonly used system is three color code system", "correct": false}], "correct_answer": "C. Moribund patients receive the lowest priority", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C-Moribund patients receive th\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Red</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>High priority</strong></li>\n<li><strong>Victims must be helped within 0 to 6 hours.</strong></li>\n<li><strong>Require immediate <span class=\"customMeta\" data-dictid=\"d343b06c7f1692777197edaea107af\">resuscitation</span> or life-saving surgery.</strong></li>\n<li><strong>E.g.- <span class=\"customMeta\" data-dictid=\"23f9f85a721692777188a3706ea1cb\">hemothorax</span> or pneumothorax</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow or Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Medium priority</strong></li>\n<li><strong>Victims must be helped within 6 to 24 hours but can wait up to 24 hours.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Green</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Low priority</strong></li>\n<li><strong>These victims are <span class=\"customMeta\" data-dictid=\"4712037d54169277718165d90f2550\">ambulatory</span> and can move with minor injuries.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Black</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Least priority</strong></li>\n<li><strong>They are either dead or <span class=\"customMeta\" data-dictid=\"f346e30c99169277719253458ef3a0\">moribund</span> (likely to die)</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Bagassosis occurs with:", "options": [{"label": "A", "text": "Silica fibers", "correct": false}, {"label": "B", "text": "Carbon particles", "correct": false}, {"label": "C", "text": "Sugarcane fibers", "correct": true}, {"label": "D", "text": "Cotton", "correct": false}], "correct_answer": "C. Sugarcane fibers", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which disease is frequently reported in the aftermath of Gujarat's recent massive earthquake disaster, resulting in loss of life and immense suffering?", "options": [{"label": "A", "text": "Acute gastroenteritis", "correct": true}, {"label": "B", "text": "Pneumonia", "correct": false}, {"label": "C", "text": "Leptospirosis", "correct": false}, {"label": "D", "text": "Malnutrition", "correct": false}], "correct_answer": "A. Acute gastroenteritis", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A-Acute <span class=\"customMeta\" data-dictid=\"9adfce14be1692777188e68f409265\">gastroenteritis</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Inertization is:", "options": [{"label": "A", "text": "Reducing organic and combustible waste to inorganic", "correct": false}, {"label": "B", "text": "Burning biomedical waste", "correct": false}, {"label": "C", "text": "Biomedical waste converted into non-harmful", "correct": true}, {"label": "D", "text": "To avoid water contamination", "correct": false}], "correct_answer": "C. Biomedical waste converted into non-harmful", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C-Biomedical waste converted into non-harmfu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In Disaster management, what is the term used when patients are classified based on their likelihood of survival?", "options": [{"label": "A", "text": "Triage", "correct": true}, {"label": "B", "text": "Tagging", "correct": false}, {"label": "C", "text": "Mitigation", "correct": false}, {"label": "D", "text": "Surge capacity", "correct": false}], "correct_answer": "A. Triage", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A-Triag\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Anthracosis is caused by", "options": [{"label": "A", "text": "Silica", "correct": false}, {"label": "B", "text": "Coal dust", "correct": true}, {"label": "C", "text": "Asbestos", "correct": false}, {"label": "D", "text": "Sugar cane", "correct": false}], "correct_answer": "B. Coal dust", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B-Coal Du\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Silicosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sandstone industry, granite industry, pottery industry, ceramic</p>\n<p>industry, gold, <span class=\"customMeta\" data-dictid=\"6f005286d01692777192d8168064ba\">mica</span> and steel industry, glass factory, building and</p>\n<p>construction work, rock mining</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Asbestosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cement factory, fireproof industry, construction, airplanes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Anthracosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Coal mines</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Baritosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Photography, printing, <span class=\"customMeta\" data-dictid=\"55052c0f0616927771829c99eec183\">barium</span> <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> works</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Byssinosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Textile industry</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bagassosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sugar <span class=\"customMeta\" data-dictid=\"48a9ab7c601692777183f6f9d2752a\">cane</span> factories, paper and cardboard factories-Fibrous residue</p>\n<p>from bagasse used in paper factories</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Farmer's lung</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agricultural industry</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Siderosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Iron mines, Iron, and steel industry</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In which bag should recyclable tubing and catheters be placed?", "options": [{"label": "A", "text": "Red", "correct": true}, {"label": "B", "text": "Blue", "correct": false}, {"label": "C", "text": "Yellow", "correct": false}, {"label": "D", "text": "White", "correct": false}], "correct_answer": "A. Red", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/D3OZb0SHWMCaCFHxePgS1714546726.png", "https://image.prepladder.com/content/zQpsVMlVmRa82Ne4nBRl1714546726.png", "https://image.prepladder.com/content/lEFwbPKEIYAA6zSBYnq61714546726.png", "https://image.prepladder.com/content/hWdVymQQ4GgWhunVgJiR1714546726.png"], "explanation": "<p>Correct Option A-R\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Color</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Waste type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Method of disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n<p><img src=\"https://image.prepladder.com/content/D3OZb0SHWMCaCFHxePgS1714546726.png\" style=\"height:375px; width:539px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Infectious</li>\n<li>May or may not be pretreated.</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Incineration</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Red</strong></p>\n<p><img src=\"https://image.prepladder.com/content/zQpsVMlVmRa82Ne4nBRl1714546726.png\" style=\"height:319px; width:530px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Infectious.</li>\n<li>Rubber, plastic, tube</li>\n<li>No pretreatment</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recycling or</p>\n<p>reuse</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Blue</strong></p>\n<p><img src=\"https://image.prepladder.com/content/lEFwbPKEIYAA6zSBYnq61714546726.png\" style=\"height:211px; width:528px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> implants.</li>\n<li>No pretreatment.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recycling or reuse.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>White</strong></p>\n<p><img src=\"https://image.prepladder.com/content/hWdVymQQ4GgWhunVgJiR1714546726.png\" style=\"height:546px; width:940px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Sharps.</li>\n<li>No pretreatment</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recycling or reuse after shredding.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Rearrange the following options related to the management of biomedical waste: Column A Column B Yellow Red Blue White translucent Glassware Scalpel blade Chemical waste Syringe", "options": [{"label": "A", "text": "1-C; 2-D; 3-A; 4-B", "correct": true}, {"label": "B", "text": "1-D; 2-A; 3-B; 4-C", "correct": false}, {"label": "C", "text": "1-A; 2-B; 3-C; 4-D", "correct": false}, {"label": "D", "text": "1-B; 2-C; 3-D; 4-A", "correct": false}], "correct_answer": "A. 1-C; 2-D; 3-A; 4-B", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/YPk2fs8SbhplX8rc4YAF1714560418.png", "https://image.prepladder.com/content/2y4S677dUFSzFJXt0ZEt1714560418.png", "https://image.prepladder.com/content/zengKK9ZYvRf9lh30DgM1714560418.png", "https://image.prepladder.com/content/3VZLOGvRklJG2vIchiOt1714560418.png"], "explanation": "<p>Correct Option A: 1-C; 2-D; 3-A; 4-B.</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Yellow </strong></li>\n</ol>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>C. Chemical waste</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Red</strong></li>\n</ol>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>D. Syringe</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Blue</strong></li>\n</ol>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Glassware</strong></li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>White translucent</strong></li>\n</ol>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>B. <span class=\"customMeta\" data-dictid=\"e75665af8216927771989890096109\">Scalpel</span> blade</strong></p>\n</td>\n</tr>\n</tbody>\n\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Waste type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Method of disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n<p><img src=\"https://image.prepladder.com/content/YPk2fs8SbhplX8rc4YAF1714560418.png\" style=\"height:375px; width:539px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Infectious.</strong></li>\n<li><strong>May or may not be pretreated.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Incineration</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Red</strong></p>\n<p><img src=\"https://image.prepladder.com/content/2y4S677dUFSzFJXt0ZEt1714560418.png\" style=\"height:319px; width:530px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Infectious.</strong></li>\n<li><strong>Rubber, plastic, tube.</strong></li>\n<li><strong>No pretreatment.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Recycling or reuse.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Blue</strong></p>\n<p><img src=\"https://image.prepladder.com/content/zengKK9ZYvRf9lh30DgM1714560418.png\" style=\"height:211px; width:528px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> implants.</strong></li>\n<li><strong>No pretreatment.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Recycling or reuse.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>White</strong></p>\n<p><img src=\"https://image.prepladder.com/content/3VZLOGvRklJG2vIchiOt1714560418.png\" style=\"height:546px; width:940px\"/></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Sharps.</strong></li>\n<li><strong>No pretreatment.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Recycling or reuse after shredding.</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the context of biomedical waste disposal, which type of waste is discarded in a yellow bag?", "options": [{"label": "A", "text": "Blood bag", "correct": true}, {"label": "B", "text": "Gloves", "correct": false}, {"label": "C", "text": "Sharps", "correct": false}, {"label": "D", "text": "Urine bag", "correct": false}], "correct_answer": "A. Blood bag", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A: Blood bag\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">Type of waste</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">Examples of waste</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">Treatment and disposal</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Soiled waste.</li>\n<li>Discarded or expired medicine.</li>\n<li>Microbiology, <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n<li>Chemical waste.</li>\n<li>Chemical liquid waste.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Placenta.</li>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover and head cover.</li>\n<li>Cytotoxic, expired and discarded medicines.</li>\n<li>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</li>\n<li>Blood bag</li>\n<li>Vacutainers with blood</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Incineration</li>\n<li>Plasma pyrolysis</li>\n<li>Deep burial.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is used to clean up blood spills in the operation theater?", "options": [{"label": "A", "text": "Chlorine compound", "correct": true}, {"label": "B", "text": "Phenolic compound", "correct": false}, {"label": "C", "text": "Quaternary ammonium compounds", "correct": false}, {"label": "D", "text": "Alcoholic compounds", "correct": false}], "correct_answer": "A. Chlorine compound", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 59 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "What is the following logo used to indicate in biomedical waste management?", "options": [{"label": "A", "text": "Biohazard", "correct": false}, {"label": "B", "text": "Radiation Hazard", "correct": true}, {"label": "C", "text": "Recycling", "correct": false}, {"label": "D", "text": "Toxic Hazard", "correct": false}], "correct_answer": "B. Radiation Hazard", "question_images": ["https://image.prepladder.com/content/gIpofzrqBD7hZ3o7jYf11736394935.png"], "explanation_images": ["https://image.prepladder.com/content/tGEBr6oXRfyzzSjcVUtE1736394985.png", "https://image.prepladder.com/content/3DSCcDFy2fozTvvhdeXF1736395037.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kpBErKZ7FJRkCNNX2R5O1738668280.mp3", "video": ""}, {"text": "Which color-coded container is used for disposing of infectious biomedical waste, such as contaminated dressings or swabs?", "options": [{"label": "A", "text": "Yellow", "correct": true}, {"label": "B", "text": "Red", "correct": false}, {"label": "C", "text": "Blue", "correct": false}, {"label": "D", "text": "Black", "correct": false}], "correct_answer": "A. Yellow", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Waste Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type of bag or container to be used</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Method of disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>All <strong>infectious </strong>waste.</li>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste</li>\n<li><strong>Soiled </strong>waste (contaminated with blood, body fluids, dressings and swabs, <strong>blood bags</strong>).</li>\n<li>Expired or discarded medicines</li>\n<li>Chemical waste.</li>\n<li><strong>Microbiological </strong>and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Yellow coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Incineration</li>\n<li>Plasma pyrolysis</li>\n<li>Deep burial</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Red</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Contaminated waste (recyclable)</strong>: Tubing, bottles, <span class=\"customMeta\" data-dictid=\"27b78a96071692777190f4dfb93430\">intravenous</span> tubes and sets, catheters, <strong>urine bags</strong>, syringes (without needles), vacutainers and gloves.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Red coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/hydroclaving, and then sent for recycling (not to landfill).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Glassware:</strong> Broken or discarded and contaminated glass including medicine vials and ampoules except those contaminated with cytotoxic waste.</li>\n<li><strong>Metallic body implants</strong>.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue coloured markings.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Disinfection or autoclaving/microwaving, hydroclaving and then sent to recycling.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>White</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Waste <strong>sharps </strong>including metals: Needles, syringes with fixed needles, scalpels or any other sharp object that may cause <span class=\"customMeta\" data-dictid=\"9af4bb5919169277719688aaf3f8e7\">puncture</span> and cuts.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Puncture proof and leak proof containers.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Auto or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding and <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or encapsulation.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/i3CPqROkwdw1eESYJLOx1738668376.mp3", "video": ""}, {"text": "Which color plastic bag would expired medications be discarded in according to the biomedical waste management guidelines?", "options": [{"label": "A", "text": "Red", "correct": false}, {"label": "B", "text": "Blue", "correct": false}, {"label": "C", "text": "Yellow", "correct": true}, {"label": "D", "text": "White", "correct": false}], "correct_answer": "C. Yellow", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:651px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Color</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Example of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Treatment and disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Soiled waste.</li>\n<li>Discarded or expired medicine.</li>\n<li>Microbiology, biotechnology, and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n<li>Chemical waste.</li>\n<li>Chemical liquid waste.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Placenta.</li>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover, and head cover.</li>\n<li>Cytotoxic, expired, and discarded medicines.</li>\n<li>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</li>\n<li>Blood bag</li>\n<li>Vacutainers with blood</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Incineration.</li>\n<li>Plasma pyrolysis.</li>\n<li>Deep burial.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Red</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contaminated waste that is recyclable.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Syringe without needles. </li>\n<li>Fixed needle syringes with their needle cut.</li>\n<li>IVset.</li>\n<li>Catheters.</li>\n<li>Gloves (soiled or unsoiled).</li>\n<li>Urine bag.</li>\n<li>Dialysis kit.</li>\n<li>IVbottles.</li>\n<li>Tubing's.</li>\n<li>Bottles.</li>\n<li>Vacutainers with needle cut.</li>\n<li>Vacutainers without blood.</li>\n<li>ELISA plate and vials not containing blood samples.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/ hydroclaving followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> and waste set to registered recyclers or for energy recovery/road making.</li>\n<li>Plastic waste should not be sent to landfill sites.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>White</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Waste Sharps</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Needles</li>\n<li>Syringes with fixed needles</li>\n<li>Blades</li>\n<li>Scalpers</li>\n<li>Trocar cannula</li>\n<li>Insulin pen needle</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Puncture-proof, Leak proof, Tamper proof containers</li>\n<li>Autoclaving or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or <span class=\"customMeta\" data-dictid=\"5a7f7caa7716927771870658b1c5cf\">encapsulation</span> in a metal container or <span class=\"customMeta\" data-dictid=\"d8691a48a91692777184708a8f2f0c\">cement</span> concrete</li>\n<li>Or sent for final disposal to iron foundries <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> landfill or designated concrete waste sharp pit</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Glassware or <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Includes broken or discarded glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> objects that are contaminated.</li>\n<li>Glass:\n\t\t\t\t<ul>\n<li>Broken glass.</li>\n<li>Ampoules.</li>\n<li>Lab slide</li>\n</ul>\n</li>\n<li>Metals:\n\t\t\t\t<ul>\n<li>Nails.</li>\n<li>Metallic body implants.</li>\n<li>Scissors.</li>\n<li>Artificial pacemakers.</li>\n</ul>\n</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue colored marking or blue colored puncture- proof and tamper-proof containers.</li>\n<li>Disinfection (cleaning with <span class=\"customMeta\" data-dictid=\"24ff542ee616927771865a28edbc12\">detergent</span> and soaking in sodium hypochlorite) or autoclaving microwaving or hydroclaving and then sent for recycling.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SsR8ToxX6SpwP6BmMTbk1738668463.mp3", "video": ""}, {"text": "Personal Protective Equipment (PPE) like Face shields, goggles, gloves and hazmat suits are disposed of in which colour bin?", "options": [{"label": "A", "text": "Blue", "correct": false}, {"label": "B", "text": "Yellow", "correct": false}, {"label": "C", "text": "Red", "correct": true}, {"label": "D", "text": "White", "correct": false}], "correct_answer": "C. Red", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type of BMW</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Nature of Treatment</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Used masks, headcovers/caps, shoe covers, disposable linen gowns</li>\n<li>Waste contaminated with body/body fluids of <span class=\"customMeta\" data-dictid=\"2d364aeaf7169277718529fa58f6ea\">COVID-19</span> patients.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Incineration/plasma <span class=\"customMeta\" data-dictid=\"c747c2dd02169277719667d14b11cd\">pyrolysis</span> or deep burial.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Red </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>PPE such as goggles, face shields, splash proof aprons, plastic coveralls, Hazmat suits, <span class=\"customMeta\" data-dictid=\"0fb231dc611692777193077e8c5e02\">nitrile</span> gloves.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/hydroclaving, and then sent for recycling (not to landfill).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>White</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>White sharps, including metals.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Auto or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding and <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or encapsulation.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Glassware, <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Disinfection or autoclaving/microwaving, hydroclaving and then sent to recycling.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7FxeKCe4XGtuJnQUGP6C1738668571.mp3", "video": ""}, {"text": "How should vacutainers with blood be disposed in a healthcare facility?", "options": [{"label": "A", "text": "Yellow bag", "correct": true}, {"label": "B", "text": "Red bag", "correct": false}, {"label": "C", "text": "Blue bag", "correct": false}, {"label": "D", "text": "Black bag", "correct": false}], "correct_answer": "A. Yellow bag", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/91ZrujNWYRwB6cAITZhw1736395137.png", "https://image.prepladder.com/content/4ylsoiClPKkCR81xivvT1736395113.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:660px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Red Bag</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"1307\" src=\"https://image.prepladder.com/content/91ZrujNWYRwB6cAITZhw1736395137.png\" width=\"1999\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow Bag</strong><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"1160\" src=\"https://image.prepladder.com/content/4ylsoiClPKkCR81xivvT1736395113.png\" width=\"1999\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Syringe without needles.</li>\n<li>Fixed needle syringes with their needle cut.</li>\n<li>IV set.</li>\n<li>Catheters.</li>\n<li>Gloves (soiled or unsoiled).</li>\n<li>IV bottles.</li>\n<li>Tubing's.</li>\n<li>Vacutainers with needle cut.</li>\n<li><strong>Vacutainers without blood</strong></li>\n<li>ELISA plate and vials not containing blood samples.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover and head cover.</li>\n<li>Cytotoxic, expired and discarded medicines.</li>\n<li>Blood bag</li>\n<li><strong>Vacutainers with blood</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ftjjoaiPCUabKShfrt0L1738668653.mp3", "video": ""}, {"text": "Which of the following chemical agents is used in the management of a mercury spill?", "options": [{"label": "A", "text": "Sodium hypochlorite", "correct": false}, {"label": "B", "text": "Sodium thiosulphate", "correct": true}, {"label": "C", "text": "Sodium sulphate", "correct": false}, {"label": "D", "text": "Sodium nitrate", "correct": false}], "correct_answer": "B. Sodium thiosulphate", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NdvW7bHYv57AVeKMGNjP1738668999.mp3", "video": ""}, {"text": "A rural clinic generates biomedical waste daily with no nearest biomedical waste treatment facility nearby. What is the most appropriate method for disposing of biomedical waste in this situation?", "options": [{"label": "A", "text": "Landfills", "correct": false}, {"label": "B", "text": "Deep burial", "correct": true}, {"label": "C", "text": "Use of disinfectants and dispose with municipal waste", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "B. Deep burial", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5xQQ6tXNO9ktos8i6JoL1738668869.mp3", "video": ""}, {"text": "A patient involved in an accident has sustained multiple injuries and a large amount of blood spills onto the floor. Which of the following is used for managing body spills?", "options": [{"label": "A", "text": "1% sodium hypochlorite solution used", "correct": false}, {"label": "B", "text": "1% sodium thiosulphate solution used", "correct": false}, {"label": "C", "text": "10% sodium hypochlorite solution used", "correct": true}, {"label": "D", "text": "10% sodium thiosulphate solution used", "correct": false}], "correct_answer": "C. 10% sodium hypochlorite solution used", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/M9jlEwRCscVgMvx9cWep1738669121.mp3", "video": ""}, {"text": "Match the correct following parameters of autoclaving : Temperature Pressure Time a. Not less than 121°C i. 52 pounds/square inch 1. 60mins b. Not less than 135°C ii. 15 pounds/square inch 2. 30 mins c. Not less than 149°C iii. 31 pounds/square inch 3. 45 mins", "options": [{"label": "A", "text": "a-ii-2", "correct": false}, {"label": "B", "text": "b-iii-1", "correct": false}, {"label": "C", "text": "c-i-3", "correct": false}, {"label": "D", "text": "c-i-2", "correct": true}], "correct_answer": "D. c-i-2", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:458px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Temperature (°C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Pressure (psi)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Time (minutes)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Not less than 121°C</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>15 pounds/square inch</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>60 minutes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Not less than 135°C</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>31 pounds/square inch</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>45 minutes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Not less than 149°C</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>52 pounds/square inch</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>30 minutes</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/oEd8n949nhGI3uvptaiV1746564459.mp3", "video": ""}, {"text": "Which of the following statements is false ?", "options": [{"label": "A", "text": "The best way to dispose of sputum is incineration", "correct": false}, {"label": "B", "text": "Inertization includes mixing waste with cement and other substances before disposal", "correct": false}, {"label": "C", "text": "Contents of red bag should be incinerated", "correct": true}, {"label": "D", "text": "Screw Feed Technique is contraindicated for radiological waste", "correct": false}], "correct_answer": "C. Contents of red bag should be incinerated", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Q8yim783QYZdF1RlHPyW1745324663.mp3", "video": ""}, {"text": "In a home quarantine setting for a COVID-19 patient, which coloured bags should be used for disposing of biomedical waste according to the specified protocol?", "options": [{"label": "A", "text": "Red bag for used masks and tissues, yellow bag for rapid COVID-19 antigen test kits", "correct": false}, {"label": "B", "text": "Yellow bag for used masks and tissues, black bag for general waste", "correct": true}, {"label": "C", "text": "Black bag for used masks and tissues, yellow bag for rapid COVID-19 antigen test kits", "correct": false}, {"label": "D", "text": "Red bag for used masks and tissues, black bag for general waste", "correct": false}], "correct_answer": "B. Yellow bag for used masks and tissues, black bag for general waste", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Pi8cwBjiBVZwgV0Un0XL1746563862.mp3", "video": ""}, {"text": "Which term refers to the study and practice of improving the genetic quality of the human population through genetic manipulation?", "options": [{"label": "A", "text": "Euthenics", "correct": false}, {"label": "B", "text": "Eugenics", "correct": true}, {"label": "C", "text": "Epigenetics", "correct": false}, {"label": "D", "text": "Ethnology", "correct": false}], "correct_answer": "B. Eugenics", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/M2Wd6tSNSasAqoromEmo1746563973.mp3", "video": ""}, {"text": "Which statement does not align with the Hardy-Weinberg Principle?", "options": [{"label": "A", "text": "Frequency remains constant through generations", "correct": false}, {"label": "B", "text": "Gene pool remains stable", "correct": false}, {"label": "C", "text": "Allele frequencies vary within a species", "correct": true}, {"label": "D", "text": "Presence of random mating and a large population size", "correct": false}], "correct_answer": "C. Allele frequencies vary within a species", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/GLjkjh1JjG6q8VdQyP1c1736395266.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/f9w7a3xmVyZpBN1DwGrL1746564089.mp3", "video": ""}, {"text": "Which of the following factors can lead to deviations from the Hardy-Weinberg equilibrium?", "options": [{"label": "A", "text": "Genetic drift", "correct": false}, {"label": "B", "text": "Natural selection", "correct": false}, {"label": "C", "text": "Mutation", "correct": false}, {"label": "D", "text": "All of the above", "correct": true}], "correct_answer": "D. All of the above", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rkDJD3LQlbwIxuEjtDWT1746564199.mp3", "video": ""}, {"text": "Which of the following best describes prospective genetic counselling?", "options": [{"label": "A", "text": "Identifying heterozygous individuals for a specific defect through screening", "correct": true}, {"label": "B", "text": "Seeking genetic advice after a hereditary disorder has already occurred in the family", "correct": false}, {"label": "C", "text": "Discussing options such as contraception and termination of pregnancy based on genetic information", "correct": false}, {"label": "D", "text": "Counselling individuals with congenital anomalies, mental retardation, or inborn errors of metabolism", "correct": false}], "correct_answer": "A. Identifying heterozygous individuals for a specific defect through screening", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Prospective Genetic Counselling</strong></p>\n</td>\n<td>\n<p><strong>Retrospective Genetic Counselling</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Seeking genetic advice before the occurrence of a <span class=\"customMeta\" data-dictid=\"ee5175c06116927771880846d1cbe0\">hereditary</span> disorder</p>\n</td>\n<td>\n<p>Seeking genetic advice after a <span class=\"customMeta\" data-dictid=\"ee5175c06116927771880846d1cbe0\">hereditary</span> disorder has occurred (Option B)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Identify heterozygous individuals and explain the risk of having affected children if they marry another carrier,</p>\n<p>Prevention and risk assessment.</p>\n</td>\n<td>\n<p>Methods suggested:</p>\n<ul>\n<li>Contraception (Option C)</li>\n<li>Pregnancy <span class=\"customMeta\" data-dictid=\"a35c217ec416927772009a7f3b20f4\">termination</span> (Option C)</li>\n<li>Sterilisation</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Applications: Sickle cell anaemia, thalassemia</p>\n</td>\n<td>\n<p>Applications: Counselling about <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">Congenital</span> abnormalities, Mental retardation, <span class=\"customMeta\" data-dictid=\"22a6157d6316927771903de900ec5e\">inborn</span> errors of metabolism, psychiatric illnesses. (Option D)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Prevention and risk assessment</p>\n</td>\n<td>\n<p>Provide guidance and management after the disorder has manifested</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/iakphkZS7OPTeKs2JyC21746564332.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following combination of biomedical waste management is correct regarding the disposal of an Expired tablet?", "options": [{"label": "A", "text": "Red bag - hydroclaving", "correct": false}, {"label": "B", "text": "Blue bag - incineration", "correct": false}, {"label": "C", "text": "Yellow bag- incineration", "correct": true}, {"label": "D", "text": "Yellow bag - burial", "correct": false}], "correct_answer": "C. Yellow bag- incineration", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As per biomedical waste management guidelines, in which colored bag should used pacemakers be discarded?", "options": [{"label": "A", "text": "Yellow", "correct": false}, {"label": "B", "text": "White", "correct": false}, {"label": "C", "text": "Black", "correct": false}, {"label": "D", "text": "Blue", "correct": true}], "correct_answer": "D. Blue", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Cytotoxic drug is disposed in:", "options": [{"label": "A", "text": "Yellow bag", "correct": true}, {"label": "B", "text": "Red bag", "correct": false}, {"label": "C", "text": "Blue bag", "correct": false}, {"label": "D", "text": "Black bag", "correct": false}], "correct_answer": "A. Yellow bag", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Color</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Example of waste</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Treatment and disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Yellow (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste.</li>\n<li>Soiled waste.</li>\n<li>Discarded or expired medicine.</li>\n<li>Microbiology, <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n<li>Chemical waste.</li>\n<li>Chemical liquid waste.</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Placenta.</li>\n<li>Post-operative body parts.</li>\n<li>Plaster of Paris (POP).</li>\n<li>Pathological waste.</li>\n<li>Cotton waste.</li>\n<li>Dressing materials.</li>\n<li>Beddings.</li>\n<li>Body fluid contaminated paper and cloth.</li>\n<li>Face mask, cap, shoe cover and head cover.</li>\n<li>Cytotoxic, expired and discarded medicines.</li>\n<li>Microbiology and <span class=\"customMeta\" data-dictid=\"177a32fb7f1692777183fcc83ba413\">biotechnology</span> lab waste.</li>\n<li>Blood bag</li>\n<li>Vacutainers with blood</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incineration.</li>\n<li>Plasma pyrolysis.</li>\n<li>Deep burial.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Red (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Contaminated waste that is recyclable.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Syringe without needles.</li>\n<li>Fixed needle syringes with their needle cut.</li>\n<li>IV set.</li>\n<li>Catheters.</li>\n<li>Gloves (soiled or unsoiled).</li>\n<li>Urine bag.</li>\n<li>Dialysis kit.</li>\n<li>IV bottles.</li>\n<li>Tubing's.</li>\n<li>Bottles.</li>\n<li>Vacutainers with needle cuts.</li>\n<li>Vacutainers without blood.</li>\n<li>ELISA plates and vials not containing blood samples.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/ hydroclaving followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> and waste set to registered recyclers or for energy recovery/road making.</li>\n</ul>\n<ul>\n<li>Plastic waste should not be sent to landfill sites.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>White</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Waste Sharps</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Needles</li>\n<li>Syringes with fixed needles</li>\n<li>Blades</li>\n<li>Scalpers</li>\n<li>Trocar cannula</li>\n<li>Insulin pen needle</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Puncture proof , Leak proof, Tamper proof containers</li>\n<li>Autoclaving or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding or <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or <span class=\"customMeta\" data-dictid=\"5a7f7caa7716927771870658b1c5cf\">encapsulation</span> in metal container or <span class=\"customMeta\" data-dictid=\"d8691a48a91692777184708a8f2f0c\">cement</span> concrete</li>\n<li>Or sent for final disposal to iron foundries or <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> landfills or designated concrete waste sharp pit</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Blue (Option C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Glassware or <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> body implants.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Includes broken or discarded glass and <span class=\"customMeta\" data-dictid=\"84433cae211692777192a484f539bc\">metallic</span> objects that are contaminated.</li>\n<li>Glass:\n\t\t\t\t<ul>\n<li>Broken glass.</li>\n<li>Ampoules.</li>\n<li>Lab slide</li>\n</ul>\n</li>\n<li>Metals:\n\t\t\t\t<ul>\n<li>Nails.</li>\n<li>Metallic body implants.</li>\n<li>Scissors.</li>\n<li>Artificial pacemakers.</li>\n</ul>\n</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue colored markings or blue coloured puncture-proof and tamper-proof containers.</li>\n<li>Disinfection (cleaning with <span class=\"customMeta\" data-dictid=\"24ff542ee616927771865a28edbc12\">detergent</span> and soaking in sodium hypochlorite) or autoclaving or microwaving or hydroclaving and then sent for recycling.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the options below could have been discarded in the white bag by the compounder as biomedical waste?", "options": [{"label": "A", "text": "Anatomical waste", "correct": false}, {"label": "B", "text": "Sharp waste", "correct": true}, {"label": "C", "text": "Glassware", "correct": false}, {"label": "D", "text": "Plastic waste", "correct": false}], "correct_answer": "B. Sharp waste", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B) Sharp waste </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Waste Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Type of bag or container to be used</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Method of disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>All <strong>infectious </strong>waste.</li>\n<li>Human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste. <strong>(Option A ruled out)</strong></li>\n<li>Animal <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste</li>\n<li><strong>Soiled </strong>waste (contaminated with blood, body fluids, dressings and swabs, <strong>blood bags</strong>).</li>\n<li>Expired or discarded medicines</li>\n<li>Chemical waste.</li>\n<li><strong>Microbiological </strong>and other <span class=\"customMeta\" data-dictid=\"3ec60edb4a16927771842bb9fd9aa4\">clinical laboratory</span> waste.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Yellow coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incineration</li>\n<li>Plasma pyrolysis</li>\n<li>Deep burial</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Red</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Contaminated waste (recyclable)</strong>: Tubing, bottles, <span class=\"customMeta\" data-dictid=\"27b78a96071692777190f4dfb93430\">intravenous</span> tubes and sets, catheters, <strong>urine bags</strong>, syringes (without needles), vacutainers and gloves. <strong>(Option D ruled out)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Red coloured <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> <span class=\"customMeta\" data-dictid=\"b0628f561616927771849023eb3a3d\">chlorinated</span> plastic bags.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Autoclaving or microwaving/hydroclaving, and then sent for recycling (not to landfill).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Glassware:</strong> Broken or discarded and contaminated glass including medicine vials and ampoules except those contaminated with cytotoxic waste. <strong>(Option C ruled out)</strong></li>\n<li><strong>Metallic body implants</strong>.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cardboard boxes with blue coloured markings.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Disinfection or autoclaving/microwaving, hydroclaving and then sent to recycling.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>White</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Waste <strong>sharps </strong>including metals: Needles, syringes with fixed needles, scalpels or any other sharp object that may cause <span class=\"customMeta\" data-dictid=\"9af4bb5919169277719688aaf3f8e7\">puncture</span> and cuts. <strong>(Option B)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Puncture proof and leak proof containers.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Auto or <span class=\"customMeta\" data-dictid=\"2d95ddf7b8169277718654aee27077\">dry heat</span> <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> followed by shredding and <span class=\"customMeta\" data-dictid=\"07bda0bb4f1692777193a54fe56f9c\">mutilation</span> or encapsulation.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 14 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is an example of a qualitative variable?", "options": [{"label": "A", "text": "Blood Pressure", "correct": false}, {"label": "B", "text": "Heart Rate", "correct": false}, {"label": "C", "text": "Blood group", "correct": true}, {"label": "D", "text": "Cholesterol Level", "correct": false}], "correct_answer": "C. Blood group", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Qualitative Variable</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Quantitative Variable</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Describe categories or qualities.</li>\n<li>It cannot be measured or compared.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Describes numerical quantities.</li>\n<li>It can be measured or compared.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Data type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Non-numeric</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Numeric</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Subtypes</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Nominal, Ordinal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Discrete, Continuous</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Gender</li>\n<li>Eye Color</li>\n<li>Type of Car</li>\n<li><strong>Blood group </strong></li>\n<li>Race</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Height (cm)</li>\n<li>Weight (kg)</li>\n<li>Age (years)</li>\n<li><strong>Blood Pressure (mm Hg)</strong></li>\n<li><strong>Heart Rate (bpm)</strong></li>\n<li>Body Temperature (°C)</li>\n<li><strong>Cholesterol Level (mg/dl)</strong></li>\n<li>Blood <span class=\"customMeta\" data-dictid=\"af3ae60c0c16927771889b84ca41c0\">Glucose</span> Level (mg/dl)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/U0Swla9LTxFBm5QRSQkh1746564594.mp3", "video": ""}, {"text": "A continuous variable is best described as?", "options": [{"label": "A", "text": "A variable that can only take on whole numbers.", "correct": false}, {"label": "B", "text": "A variable that can take on any value within a specified range.", "correct": true}, {"label": "C", "text": "A variable whose value is obtained by counting.", "correct": false}, {"label": "D", "text": "A variable that represents distinct, separate values.", "correct": false}], "correct_answer": "B. A variable that can take on any value within a specified range.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Discrete Variable</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Continuous Variable</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #444444; border-top:1px solid #000000; vertical-align:top\">\n<p>It is a variable whose<strong> value is obtained by counting.</strong></p>\n<p>It can take on only specific, separate values.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #444444; border-right:1px solid #444444; border-top:1px solid #000000; vertical-align:top\">\n<p>It is a variable whose value is obtained by measuring.</p>\n<p><strong>It can take on any value within a given range.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Data Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Integer values</p>\n<p><strong>Distinct, separate values (e.g., 0, 1, 2, 3, ...)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decimal or <span class=\"customMeta\" data-dictid=\"7851f9a12616927772034703063277\">fractional</span> values</p>\n<p>Any value within a range (e.g., 1.5, 2.3, 3.1416)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Nature of Values</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Countable</strong>, finite</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measurable</strong>, infinite possibilities</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Representation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Whole numbers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Real numbers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Number of students in a class</li>\n<li>Number of cars</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Height</li>\n<li>Weight</li>\n<li>Temperature</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HsC2LkBtsfuffsXuvD7a1744659260.mp3", "video": ""}, {"text": "The presence or absence of a disease is an example of?", "options": [{"label": "A", "text": "Continuous variable", "correct": false}, {"label": "B", "text": "Discrete variable", "correct": false}, {"label": "C", "text": "Dichotomous variable", "correct": true}, {"label": "D", "text": "Polytomous variable", "correct": false}], "correct_answer": "C. Dichotomous variable", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\"> </td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>Dichotomous Variable</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>Polytomous Variable</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p>Variable with <strong>two possible outcomes</strong> or categories.</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p>Variable with <strong>more than two possible outcomes</strong> or categories.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p><strong>Characteristics</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p>Represents <span class=\"customMeta\" data-dictid=\"64f7a203db169277718312f019bd9b\">binary</span> choices.</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p>Has multiple distinct categories or levels.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<ul>\n<li>Gender (male/female)</li>\n<li><strong>Presence of a disease (yes/no)</strong></li>\n<li>True/false response</li>\n</ul>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<ul>\n<li>Blood type (A, B, AB, O)</li>\n<li>Educational level (high school, college, graduate school)</li>\n<li>Pain severity (mild, moderate, severe)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p><strong>Usage</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p>Common in <span class=\"customMeta\" data-dictid=\"64f7a203db169277718312f019bd9b\">binary</span> <span class=\"customMeta\" data-dictid=\"dda6ab11271692777184264b752d39\">classification</span> tasks (e.g., disease diagnosis).</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p>Used in surveys, scales, and assessments for detailed categorisation.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/UT3RDDMDUBmHmPsDIpMD1744659420.mp3", "video": ""}, {"text": "An investigator studies the life expectancy of IV drug abusers and divides a sample of patients into HIV-positive and HIV-negative groups. What type of data does this division constitute?", "options": [{"label": "A", "text": "Ratio", "correct": false}, {"label": "B", "text": "Ordinal", "correct": false}, {"label": "C", "text": "Nominal", "correct": true}, {"label": "D", "text": "Interval", "correct": false}], "correct_answer": "C. Nominal", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Nominal Scale</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Ordinal Scale</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can be expressed in Categories without order or ranking</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can be arranged in Ordered categories with ranking</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Gender (male, female, non-binary)</li>\n<li>Marital status (single, married, divorced)</li>\n<li>Blood type (A, B, AB, O)</li>\n<li>Type of delivery (Cesarean and <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">Non</span> cesarean)</li>\n<li><strong>HIV Status</strong> (Positive, Negative, Indeterminate)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Education level (primary, secondary, tertiary)</li>\n<li>Likert scale responses (strongly agree, agree, etc.)</li>\n<li>Stages of disease (mild, moderate, severe)</li>\n<li>Cancer <span class=\"customMeta\" data-dictid=\"8ea2e3870f16927771990a138acbc1\">Staging</span> (Stage I, Stage II, Stage III, Stage IV)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/A088Lw8SmKj9Oh1UTRXE1744659577.mp3", "video": ""}, {"text": "America uses Fahrenheit (°F) in temperature measurement, and India uses Celsius (°C). Which type of scale is this an example of?", "options": [{"label": "A", "text": "Nominal scale", "correct": false}, {"label": "B", "text": "Ordinal scale", "correct": false}, {"label": "C", "text": "Interval scale", "correct": true}, {"label": "D", "text": "Ratio scale", "correct": false}], "correct_answer": "C. Interval scale", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Interval Scale</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Ratio Scale</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ordered categories with equal intervals but no true <span class=\"customMeta\" data-dictid=\"116e588c7b1692777202c7f3040428\">zero</span> point</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ordered categories with equal intervals and a True <span class=\"customMeta\" data-dictid=\"116e588c7b1692777202c7f3040428\">Zero</span> point or <span class=\"customMeta\" data-dictid=\"614ae56169169277718092e2888716\">Absolute Zero</span> point.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Temperature in Celsius or Fahrenheit</strong></li>\n<li>Calendar years (e.g. 2000, 2020)</li>\n<li>IQ Scores (eg. 90, 100, 110)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Temperature in Kelvin</li>\n<li>Height</li>\n<li>Weight</li>\n<li>Age</li>\n<li>Blood Pressure</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/f5mkMEjciXeTlsCMehGX1744659798.mp3", "video": ""}, {"text": "Which of the following is the most commonly used statistical average?", "options": [{"label": "A", "text": "Weighted mean", "correct": false}, {"label": "B", "text": "Geometric mean", "correct": false}, {"label": "C", "text": "Arithmetic mean", "correct": true}, {"label": "D", "text": "Harmonic mean", "correct": false}], "correct_answer": "C. Arithmetic mean", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Weighted Mean</strong></p>\n<p style=\"text-align: center;\"><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Similar to arithmetic mean; considers only specified values</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Geometric Mean</strong></p>\n<p style=\"text-align: center;\"><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used when the given <strong>data differs exponentially</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Harmonic Mean</strong></p>\n<p style=\"text-align: center;\"><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used for <strong>fractional variables</strong> or <strong>inverse relationships</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ESXQtkPnfJhKXCYDOts71744660903.mp3", "video": ""}, {"text": "A patient who presented yesterday with occasional chest pain on &amp; off for quite a while was found to have a blood pressure of 160/100 mmHg. An ambulatory blood pressure monitoring has been set up and the readings today are 130/90, 158/98, 140/80, 160/90, 150/100 and 138/88 mmHg. What is his mean blood pressure?", "options": [{"label": "A", "text": "139/85mmHg", "correct": false}, {"label": "B", "text": "146/91mmHg", "correct": true}, {"label": "C", "text": "150/89mmHg", "correct": false}, {"label": "D", "text": "154/95 mmHg", "correct": false}], "correct_answer": "B. 146/91mmHg", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gzG7BhgxdT6wItl8RCrI1744660757.mp3", "video": ""}, {"text": "TSH values taken from a few antenatal mothers from an area where iodine deficiency is suspected are 4.5, 3.0, 1.9, 6.2, 8.0, 8.4, 2.4 and 9.2 IU/L. Calculate the median TSH in these mothers.", "options": [{"label": "A", "text": "4.12", "correct": false}, {"label": "B", "text": "6.33", "correct": false}, {"label": "C", "text": "5.35", "correct": true}, {"label": "D", "text": "4.78", "correct": false}], "correct_answer": "C. 5.35", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/7c2Kn8LLOCGtQqLUDzau1733251669.png", "https://image.prepladder.com/notes/3EuIMlDcYClv3hQuoqZY1733994554.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/fXaLvxwQdhaJCGsF1pBa1744660576.mp3", "video": ""}, {"text": "The malaria cases reported in the last 10 years are 270, 300, 200, 310, 6000, 110, 250, 320, 330 and 120. An epidemiologist wants to determine the average number of malaria cases reported during these 10 years. Which of the following is the most appropriate measure of average for this data?", "options": [{"label": "A", "text": "Weighted mean", "correct": false}, {"label": "B", "text": "Median", "correct": true}, {"label": "C", "text": "Mean", "correct": false}, {"label": "D", "text": "Geometric mean", "correct": false}], "correct_answer": "B. Median", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/QYzRQZgeu3V6LqviKJ2t1728630734.jpg", "https://image.prepladder.com/content/Hi2zvWuhrADF8cQ4jFX11728630773.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/aTlIkxFPlZe7wdxb3MqN1744660154.mp3", "video": ""}, {"text": "In the case of a bimodal distribution, calculate the mode if the median is 2 and the mean is 3.", "options": [{"label": "A", "text": "5", "correct": false}, {"label": "B", "text": "3", "correct": false}, {"label": "C", "text": "0", "correct": true}, {"label": "D", "text": "2", "correct": false}], "correct_answer": "C. 0", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/tHllKyf674abGlRWW6gB1734022565.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dortoVGjigwvBzhpVjXj1744659951.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 20 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "What does a correlation coefficient of less than 0.5 signify?", "options": [{"label": "A", "text": "Confidence interval of 95%", "correct": false}, {"label": "B", "text": "Weak correlation", "correct": true}, {"label": "C", "text": "Not statistically significant", "correct": false}, {"label": "D", "text": "Strong correlation", "correct": false}], "correct_answer": "B. Weak correlation", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is used for graphical representation in flow cytometry analysis?", "options": [{"label": "A", "text": "Bar diagram, dot plot", "correct": false}, {"label": "B", "text": "Line diagram, dot plot", "correct": false}, {"label": "C", "text": "Histogram, dot plot", "correct": true}, {"label": "D", "text": "Pie chart, dot plot", "correct": false}], "correct_answer": "C. Histogram, dot plot", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/6tNCxMFZlhwVEMDQKf9Y1747125209.png", "https://image.prepladder.com/notes/ill59vmAIPT7Hb9DnH6L1747046571.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Interpret the following graph (in order from left to right):", "options": [{"label": "A", "text": "Normal, negatively skewed, positively skewed, skewed with outliers", "correct": false}, {"label": "B", "text": "Normal, positively skewed, negatively skewed, normal with outliers", "correct": true}, {"label": "C", "text": "Normal, negatively skewed, positively skewed, normal with outliers", "correct": false}, {"label": "D", "text": "Skewed with outliers, positively skewed, negatively skewed, normal", "correct": false}], "correct_answer": "B. Normal, positively skewed, negatively skewed, normal with outliers", "question_images": ["https://image.prepladder.com/notes/Anb2SB6DO6nj0hxWjrKG1747047161.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A homogenous sample of 4 groups was taken as shown below. The height and weight of each group had a correlation coefficient of 0.6. What will be the total coefficient of correlation of the whole group?", "options": [{"label": "A", "text": "Equal to 0.6", "correct": true}, {"label": "B", "text": "Less than 0.6", "correct": false}, {"label": "C", "text": "More than 0.6", "correct": false}, {"label": "D", "text": "Skewed coefficient of 0.6", "correct": false}], "correct_answer": "A. Equal to 0.6", "question_images": ["https://image.prepladder.com/notes/mJTNg0qe9NdEolYlQoBE1747037708.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which one of the following is not a component of meta-analysis?", "options": [{"label": "A", "text": "Selection", "correct": false}, {"label": "B", "text": "Analysis", "correct": false}, {"label": "C", "text": "Randomization", "correct": true}, {"label": "D", "text": "Abstraction", "correct": false}], "correct_answer": "C. Randomization", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Glasgow coma scale is a type of?", "options": [{"label": "A", "text": "Nominal scale data", "correct": false}, {"label": "B", "text": "Ordinal scale data", "correct": true}, {"label": "C", "text": "Alphanumerical data", "correct": false}, {"label": "D", "text": "Interval scale data", "correct": false}], "correct_answer": "B. Ordinal scale data", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - <span class=\"customMeta\" data-dictid=\"ed3b30cc5a1692777194f801333e75\">Ordinal</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which one of the options listed below is a non-parametric test?", "options": [{"label": "A", "text": "Student t test", "correct": false}, {"label": "B", "text": "Friedman test", "correct": true}, {"label": "C", "text": "ANOVA", "correct": false}, {"label": "D", "text": "Pearson", "correct": false}], "correct_answer": "B. Friedman test", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe a probability distribution that represents the likelihood of a specific number of events occurring within a specific time period?", "options": [{"label": "A", "text": "Binomial distribution", "correct": false}, {"label": "B", "text": "Gaussian distribution", "correct": false}, {"label": "C", "text": "Poissons distribution", "correct": true}, {"label": "D", "text": "Normal distribution", "correct": false}], "correct_answer": "C. Poissons distribution", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In order to evaluate the nutritional status of young children residing in rural and urban areas, a research study was conducted. The study revealed that out of the total sample, comprising 30 children from rural areas and 20 children from urban areas, a significant proportion were found to be malnourished. Based on this information, which of the following statistical significance tests would be the most suitable in this scenario?", "options": [{"label": "A", "text": "Chi-Square test", "correct": true}, {"label": "B", "text": "Paired T-test", "correct": false}, {"label": "C", "text": "Standard error of the mean", "correct": false}, {"label": "D", "text": "ANOVA", "correct": false}], "correct_answer": "A. Chi-Square test", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/89ZwVkvFCm5l03qr2z9B1746434399.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Parametric Test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Description</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Paired Student's T-test <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in paired data from the same group of individuals before and after an intervention.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Unpaired Student's T-test</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in two different groups of individuals. The<strong> Z-test is a <span class=\"customMeta\" data-dictid=\"0efdcdc9e01692777201003c81c85a\">variant</span> </strong>of the unpaired Student's t-test used when the sample size is > 30.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>ANOVA <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in more than two different groups of individuals.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Pearson correlation coefficient</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Measures the <span class=\"customMeta\" data-dictid=\"d02067c4b51692777191b8eec8b062\">linear</span> association between two variables and can range from -1 (perfect negative correlation) to +1 (perfect positive correlation).</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a population study, if the mean value is 200 and the standard deviation is 20, what percentage of the population will fall within one standard deviation of the mean?", "options": [{"label": "A", "text": "180-220", "correct": true}, {"label": "B", "text": "160-240", "correct": false}, {"label": "C", "text": "170- 230", "correct": false}, {"label": "D", "text": "190-210", "correct": false}], "correct_answer": "A. 180-220", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The variation in a data set is compared with that of another data set using?", "options": [{"label": "A", "text": "Variance", "correct": false}, {"label": "B", "text": "Coefficient of variation", "correct": true}, {"label": "C", "text": "Standard error of mean", "correct": false}, {"label": "D", "text": "Standard deviation", "correct": false}], "correct_answer": "B. Coefficient of variation", "question_images": [], "explanation_images": [], "explanation": "<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How is the calculation of one variable using another variable typically performed?", "options": [{"label": "A", "text": "Coefficient of correlation", "correct": false}, {"label": "B", "text": "Coefficient of Regression", "correct": true}, {"label": "C", "text": "Coefficient of variation", "correct": false}, {"label": "D", "text": "Coefficient of determination", "correct": false}], "correct_answer": "B. Coefficient of Regression", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B)\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Calculate the median of the following data set: 2, 3, 4, 4, 5, 6, 7, 8.", "options": [{"label": "A", "text": "4", "correct": false}, {"label": "B", "text": "4.5", "correct": true}, {"label": "C", "text": "4.8", "correct": false}, {"label": "D", "text": "5", "correct": false}], "correct_answer": "B. 4.5", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/2W7yZYlKnRT1ciLQNcne1724842129.png", "https://image.prepladder.com/content/V71mLRjeYFEsVh620rEX1724842160.png"], "explanation": "<p>Correct Option B - 4.5\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe the value that appears most frequently in a set of data?", "options": [{"label": "A", "text": "Median", "correct": false}, {"label": "B", "text": "Mode", "correct": true}, {"label": "C", "text": "Standard deviation", "correct": false}, {"label": "D", "text": "Mean", "correct": false}], "correct_answer": "B. Mode", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/YY1f63BSv0wyVDfHOOIL1746690275.png", "https://image.prepladder.com/content/Il9ewLrf0C4RhcG8iBua1746690285.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A study was done to assess nutritional status among young children in rural and urban areas. 40 children in rural and 30 children in urban areas were malnourished. Which of the following tests of significance is the most appropriate in this case?", "options": [{"label": "A", "text": "Chi Square test", "correct": true}, {"label": "B", "text": "Paired T test", "correct": false}, {"label": "C", "text": "Standard error of the mean", "correct": false}, {"label": "D", "text": "ANOVA", "correct": false}], "correct_answer": "A. Chi Square test", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/k3IQHpGhP2pkSdyIo3cU1746767743.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Parametric Test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Paired Student's t-test <strong>(Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in paired data from the same group of individuals before and after an intervention.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Unpaired Student's t-test</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in two different groups of individuals. The<strong> Z-test is a <span class=\"customMeta\" data-dictid=\"0efdcdc9e01692777201003c81c85a\">variant</span> </strong>of the unpaired Student's t-test used when the sample size is > 30.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>ANOVA <strong>(Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in more than two different groups of individuals.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Pearson correlation coefficient</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Measures the <span class=\"customMeta\" data-dictid=\"d02067c4b51692777191b8eec8b062\">linear</span> association between two variables and can range from -1 (perfect negative correlation) to +1 (perfect positive correlation).</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most effective method for graphically representing the fluctuations in disease occurrence within a specific geographical region?", "options": [{"label": "A", "text": "Line graph", "correct": true}, {"label": "B", "text": "Histogram", "correct": false}, {"label": "C", "text": "Ogive", "correct": false}, {"label": "D", "text": "Tree diagram", "correct": false}], "correct_answer": "A. Line graph", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/neblD38erMU5CdhNYvNi1746767994.png", "https://image.prepladder.com/content/pMnHUZMqPD9C6s5XWAxh1746768019.png", "https://image.prepladder.com/content/bxUKi4Ulbnq8KuMIprOB1746768059.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "For which type of variables is the following data representation used?", "options": [{"label": "A", "text": "Nominal", "correct": false}, {"label": "B", "text": "Discrete", "correct": false}, {"label": "C", "text": "Continuous", "correct": true}, {"label": "D", "text": "All the above", "correct": false}], "correct_answer": "C. Continuous", "question_images": ["https://image.prepladder.com/content/8B4iyU3F9RdzD63rTksA1746768764.png"], "explanation_images": ["https://image.prepladder.com/content/eFPPGeZqhijYQgrFgYnX1746768815.png", "https://image.prepladder.com/content/rpsEsB07WmMatVBsPFcm1746768843.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Please determine the study design based on the following information:", "options": [{"label": "A", "text": "Prospective cohort study", "correct": false}, {"label": "B", "text": "Retrospective cohort study", "correct": false}, {"label": "C", "text": "Case control study", "correct": true}, {"label": "D", "text": "Nested case control study", "correct": false}], "correct_answer": "C. Case control study", "question_images": ["https://image.prepladder.com/notes/1n4QprikxGSk24jpnmqI1747988580.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A researcher is studying the difference in the incidence of asthma in children who are exposed to second-hand smoke and those who are not. If he wishes to express the additional incidence of asthma in the exposed children as a percentage, which of the following should he use?", "options": [{"label": "A", "text": "Attributable risk", "correct": false}, {"label": "B", "text": "Relative risk", "correct": false}, {"label": "C", "text": "Population attributable risk", "correct": true}, {"label": "D", "text": "Odds ratio", "correct": false}], "correct_answer": "C. Population attributable risk", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Measure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Calculation</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Attributable Risk</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Proportion of disease <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> attributable to a specific exposure or risk factor</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Risk in exposed group - Risk in unexposed group</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Relative Risk</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Risk of a particular outcome in the exposed group compared to the unexposed group</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Risk in exposed group/Risk in unexposed group</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Population Attributable Risk</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Proportion of disease cases in a population attributable to a specific exposure or risk factor</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>(Prevalence of exposure) x (Relative risk-1)/(1+ (Prevalence of exposure) x (Relative risk - 1))</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Odds Ratio</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Strength of association between exposure and outcome in case-control or <span class=\"customMeta\" data-dictid=\"7b9b60f7e016927771978a4311da4f\">retrospective</span> studies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>(Exposure odds in cases/Non-exposure odds in cases) / (Exposure odds in controls/Non- exposure odds in controls)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The blood pressure of 200 hypertensive patients is being compared after 3 months. One group of 100 patients received medical advice, while the other group of 100 patients were advised to make lifestyle changes. Which test of significance is used to compare the blood pressure in these two groups?", "options": [{"label": "A", "text": "ANOVA", "correct": false}, {"label": "B", "text": "Un-paired T test", "correct": true}, {"label": "C", "text": "Chi-square test", "correct": false}, {"label": "D", "text": "McNemar's test", "correct": false}], "correct_answer": "B. Un-paired T test", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:622px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Parametric Test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Paired Student's t-test</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in paired data from the same group of individuals before and after an intervention.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Unpaired Student's t-test <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in two different groups of individuals. The<strong> Z-test is a <span class=\"customMeta\" data-dictid=\"0efdcdc9e01692777201003c81c85a\">variant</span> </strong>of the unpaired Student's t-test used when the sample size is > 30.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>ANOVA <strong>(Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Used to compare means (± SD) in more than two different groups of individuals.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Pearson correlation coefficient</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Measures the <span class=\"customMeta\" data-dictid=\"d02067c4b51692777191b8eec8b062\">linear</span> association between two variables and can range from -1 (perfect negative correlation) to +1 (perfect positive correlation).</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A study conducted on 46 mothers who delivered deformed babies showed that 41 were found to have thalidomide during their early pregnancy; what kind of study is being done here?", "options": [{"label": "A", "text": "Prospective cohort study", "correct": false}, {"label": "B", "text": "Retrospective cohort study", "correct": false}, {"label": "C", "text": "Case-control study", "correct": true}, {"label": "D", "text": "Descriptive study", "correct": false}], "correct_answer": "C. Case-control study", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C) <span class=\"customMeta\" data-dictid=\"1c939e27aa1692777184a86f1932bd\">Case-control study</span> </p>\n<p><strong>References:</strong></p>\n<ul><li>↳ Observational studies</li><li>↳ Observational studies</li><li>↳ Observational studies</li><li>↳ Observational studies</li><li>↳ Analytical studies Case-control/case reference. (Option C) Ecological/correlational. Cross-sectional/prevalence. Cohort/follow-up. (Options A & B ruled out)</li><li>↳ Analytical studies</li><li>↳ Analytical studies</li><li>↳ Case-control/case reference. (Option C) Ecological/correlational. Cross-sectional/prevalence. Cohort/follow-up. (Options A & B ruled out)</li><li>↳ Case-control/case reference. (Option C) Ecological/correlational. Cross-sectional/prevalence. Cohort/follow-up. (Options A & B ruled out)</li><li>↳ Case-control/case reference. (Option C)</li><li>↳ (Option C)</li><li>↳ Ecological/correlational.</li><li>↳ Cross-sectional/prevalence.</li><li>↳ Cohort/follow-up. (Options A & B ruled out)</li><li>↳ (Options A & B ruled out)</li><li>↳ Descriptive studies (Option D ruled out)</li><li>↳ Descriptive studies (Option D ruled out)</li><li>↳ Descriptive studies (Option D ruled out)</li><li>↳ (Option D ruled out)</li><li>↳ Experimental/observational studies</li><li>↳ Experimental/observational studies</li><li>↳ Experimental/observational studies</li><li>↳ Experimental/observational studies</li><li>↳ Community trials/community intervention trials.</li><li>↳ Community trials/community intervention trials.</li><li>↳ Community trials/community intervention trials.</li><li>↳ Field trials.</li><li>↳ Field trials.</li><li>↳ Field trials.</li><li>↳ Non-randomised trials Uncontrolled trials. Natural experiments. Before and after comparison studies.</li><li>↳ Non-randomised trials</li><li>↳ Non-randomised trials</li><li>↳ Uncontrolled trials. Natural experiments. Before and after comparison studies.</li><li>↳ Uncontrolled trials. Natural experiments. Before and after comparison studies.</li><li>↳ Uncontrolled trials.</li><li>↳ Natural experiments.</li><li>↳ Before and after comparison studies.</li><li>↳ Randomised controlled trials Trial of aetiological agents. Risk factor trials. Clinical trials. Preventive trials. Cessation experiments. Evaluation of health services.</li><li>↳ Randomised controlled trials</li><li>↳ Randomised controlled trials</li><li>↳ Trial of aetiological agents. Risk factor trials. Clinical trials. Preventive trials. Cessation experiments. Evaluation of health services.</li><li>↳ Trial of aetiological agents. Risk factor trials. Clinical trials. Preventive trials. Cessation experiments. Evaluation of health services.</li><li>↳ Trial of aetiological agents.</li><li>↳ Risk factor trials.</li><li>↳ Clinical trials.</li><li>↳ Preventive trials.</li><li>↳ Cessation experiments.</li><li>↳ Evaluation of health services.</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Observational studies</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Analytical studies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Case-control/case reference. <strong>(Option C)</strong></li>\n<li>Ecological/correlational.</li>\n<li>Cross-sectional/prevalence.</li>\n<li>Cohort/follow-up. <strong>(Options A & B ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Descriptive studies <strong>(Option D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Experimental/observational studies</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Community trials/community intervention trials.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Field trials.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Non-randomised trials</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Uncontrolled trials.</li>\n<li>Natural experiments.</li>\n<li>Before and after comparison studies.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Randomised controlled trials</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Trial of aetiological agents.</li>\n<li>Risk factor trials.</li>\n<li>Clinical trials.</li>\n<li>Preventive trials.</li>\n<li>Cessation experiments.</li>\n<li>Evaluation of health services.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What percentage of distribution is represented by one standard deviation in a normal curve?", "options": [{"label": "A", "text": "68%", "correct": true}, {"label": "B", "text": "34%", "correct": false}, {"label": "C", "text": "99%", "correct": false}, {"label": "D", "text": "95%", "correct": false}], "correct_answer": "A. 68%", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which statistical diagram represents the population change in a specific location from 1983 to 1989?", "options": [{"label": "A", "text": "Histogram", "correct": false}, {"label": "B", "text": "Line diagram", "correct": false}, {"label": "C", "text": "Component bar graph", "correct": true}, {"label": "D", "text": "Multiple bar graphs", "correct": false}], "correct_answer": "C. Component bar graph", "question_images": ["https://image.prepladder.com/content/u5xNjBrYkpQcJSk7ryzp1687849466.png"], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p><strong>Graphical Representation</strong></p>\n</td>\n<td>\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Line Graph</p>\n</td>\n<td>\n<p>Displays data points connected by straight lines to show trends over time or continuous variables.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Bar Graph</p>\n</td>\n<td>\n<p>Uses bars of equal <span class=\"customMeta\" data-dictid=\"1b0d31fe811692777202644090ba60\">width</span> to represent categorical data or compare values across different categories.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Pie Chart</p>\n</td>\n<td>\n<p>Represents parts of a whole using sectors of a circle, showing the proportion of each category.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Histogram</p>\n</td>\n<td>\n<p>Displays the distribution of continuous or grouped data by using bars of varying heights to represent the frequency or <span class=\"customMeta\" data-dictid=\"e73edb66b516927771976bebf5a2f2\">relative frequency</span> of data within specific ranges or bins.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Area Chart</p>\n</td>\n<td>\n<p>Similar to a line <span class=\"customMeta\" data-dictid=\"90b63cdcfe16927771885e9612aecb\">graph</span> but with the area under the line filled, used to represent accumulated totals or proportions over time.</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A randomized control trial is being conducted in patients with direct inguinal hernia, to compare the outcomes of a new surgery 'A' and the gold standard surgery 'B'. The p-value of this trial is found to be 0.04. What can we conclude from this?", "options": [{"label": "A", "text": "Type Il error is small and we can accept the findings of the study", "correct": false}, {"label": "B", "text": "The probability of a false negative conclusion that operation A is better than B is 4%", "correct": false}, {"label": "C", "text": "The power of the study to detect the difference between operations A and B is 96%", "correct": false}, {"label": "D", "text": "The probability of a false positive conclusion that operation A is better than B is 4%", "correct": true}], "correct_answer": "D. The probability of a false positive conclusion that operation A is better than B is 4%", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the proportion of the distribution within one standard deviation of the mean in a normal curve?", "options": [{"label": "A", "text": "68%", "correct": true}, {"label": "B", "text": "34%", "correct": false}, {"label": "C", "text": "99%", "correct": false}, {"label": "D", "text": "95%", "correct": false}], "correct_answer": "A. 68%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/kQWUBYe7wPX3pQRPoPwy1746105052.png"], "explanation": "<p>Correct Answer A- </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Area under the curve </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Observation covered </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- 1 SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">68.3% ~ 68% of observation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- 2 SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">95.4% ~ 95% of observation <strong>(Option D) </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- 3 SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">99.7% ~ 99% of observation <strong>(Option C) </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- ∞SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">100% of observation</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the best study design as per hierarchy of evidence?", "options": [{"label": "A", "text": "Meta analysis", "correct": true}, {"label": "B", "text": "Case control study", "correct": false}, {"label": "C", "text": "Cohort Study", "correct": false}, {"label": "D", "text": "Large RCT", "correct": false}], "correct_answer": "A. Meta analysis", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Level</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Study Design</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Strength of Evidence</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1a</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Meta-analysis of RCTs</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Highest</strong> - Combines data from multiple studies for stronger conclusions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1b</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Large <span class=\"customMeta\" data-dictid=\"6631140d6916927771978104bd3fa1\">RCT</span> (Randomized Controlled Trial)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Strong - Best for causality, but single studies may have limitations.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2a</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cohort Study</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Moderate - Observational, used for <span class=\"customMeta\" data-dictid=\"e580b4033e169277719609af594c16\">prognosis</span> and risk factor assessment.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2b</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Case-Control Study</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weaker - Retrospective, useful for rare diseases.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cross-sectional & Case Series</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weak - Descriptive, no causal inference.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>4</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Expert Opinion & Case Reports</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weakest - No statistical comparison, potential bias.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A group of 80 people was studied to assess the effect of diet modification on mean cholesterol levels before and after the intervention. Which statistical test is most appropriate to compare the mean cholesterol levels before and after the diet modification?", "options": [{"label": "A", "text": "Paired t-test", "correct": true}, {"label": "B", "text": "McNemar test", "correct": false}, {"label": "C", "text": "Chi-square test", "correct": false}, {"label": "D", "text": "Wilcoxon signed-rank test", "correct": false}], "correct_answer": "A. Paired t-test", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/5XoKarV5Cxr5ZKnY8sXV1724843245.png"], "explanation": "<p>Correct Option A - P\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A statistician wants to study the effects of medicine in three groups: humans, animals, and plants. He selects randomly out of these three groups. Which type of sampling is performed here?", "options": [{"label": "A", "text": "Simple Random Sampling", "correct": false}, {"label": "B", "text": "Systematic Sampling", "correct": false}, {"label": "C", "text": "Stratified Random Sampling", "correct": true}, {"label": "D", "text": "Cluster Sampling", "correct": false}], "correct_answer": "C. Stratified Random Sampling", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/FVIxs57ZKent0DYCauzH1724759902.png"], "explanation": "<p>Correct Option C - <span class=\"customMeta\" data-dictid=\"e2f163c4cd1692777199def45e74f1\">Stratified</span> Random Sampling\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A study was undertaken to establish consumption of vegetarian and non-vegetarian diet with disease. Which statistical test should be done?", "options": [{"label": "A", "text": "Paired t-test", "correct": false}, {"label": "B", "text": "McNemar test", "correct": false}, {"label": "C", "text": "Chi-square test", "correct": true}, {"label": "D", "text": "Wilcoxon signed-rank test", "correct": false}], "correct_answer": "C. Chi-square test", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/cBsLU03pq9MUjRBgIgYp1724851311.png"], "explanation": "<p>Correct Option C - <span class=\"customMeta\" data-dictid=\"9560b8d7211692777184e0359e3495\">Chi-Square</span> T\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Identify the image?", "options": [{"label": "A", "text": "Line diagram", "correct": true}, {"label": "B", "text": "Histogram", "correct": false}, {"label": "C", "text": "Scattered diagram", "correct": false}, {"label": "D", "text": "Frequency polygon", "correct": false}], "correct_answer": "A. Line diagram", "question_images": ["https://image.prepladder.com/content/XulLhRfkJIVqCsR1KFzx1747374095.png"], "explanation_images": ["https://image.prepladder.com/content/uUakOMx4YQlc9FwBaSHd1747374207.png", "https://image.prepladder.com/content/QqrUy3SLqObTJOWofMzb1747374219.png", "https://image.prepladder.com/content/HwszbjeSBVZLCaD2PhkQ1747374233.png"], "explanation": "<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What percentage of data falls within one standard deviation of the mean in a normal distribution?", "options": [{"label": "A", "text": "68%", "correct": true}, {"label": "B", "text": "95%", "correct": false}, {"label": "C", "text": "98%", "correct": false}, {"label": "D", "text": "99%", "correct": false}], "correct_answer": "A. 68%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/kjFCgY4B6swWdF2jvJhJ1747378025.png"], "explanation": "<p>Correct Option A- 68%</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Area under the curve </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Observation covered </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- 1 SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">68.3% ~ 68% of observation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- 2 SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">95.4% ~ 95% of observation <strong> (Option B ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- 3 SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">99.7% ~ 99% of observation <strong>(Option D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Mean +/- ∞SD</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">100% of observation</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In biostatistics, formula given below stands for? (σ) =√ [ Σ(x - μ²/Ν]", "options": [{"label": "A", "text": "Standard Deviation", "correct": true}, {"label": "B", "text": "Sample Variance", "correct": false}, {"label": "C", "text": "Sample Mean", "correct": false}, {"label": "D", "text": "Median", "correct": false}], "correct_answer": "A. Standard Deviation", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/7FaXKXmNMYpCaSQdibSo1745931915.png", "https://image.prepladder.com/content/bhN2zCvrPRKBSRUM0xUd1745931922.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:626px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Measures of dispersion</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Calculation </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Standard <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measures the variation or <span class=\"customMeta\" data-dictid=\"aff8304142169277718661b3b8980a\">dispersion</span> of a set of values around the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>σ = √(∑(x− x̄)<sup>2 </sup>/n)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The difference between the highest and lowest values in a dataset.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Range = Maximum value - Minimum value</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Mean deviation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measures the average absolute <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> of data points from the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Mean <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> = ∑ X - x̄ / n</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Variance (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measures the average of the squared differences from the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Variance = σ<sup>2 </sup></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "2 doctors were asked to report 100 X-rays and a Kappa value of 0.71; what is interpretation?", "options": [{"label": "A", "text": "Good", "correct": true}, {"label": "B", "text": "Poor", "correct": false}, {"label": "C", "text": "Perfect Disagreement", "correct": false}, {"label": "D", "text": "Perfect Agreement", "correct": false}], "correct_answer": "A. Good", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:354px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Kappa value </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Inference </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>>0.75</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Excellent (beyond chance)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.4-0.75</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intermediate to Good</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><0.4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Poor</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In order to investigate the dietary habits of the diverse population residing in the urban region of Delhi, a research study is being conducted. Which of the following methods can be utilized to acquire a representative sample for the study?", "options": [{"label": "A", "text": "Cluster random sampling", "correct": false}, {"label": "B", "text": "Stratified random sampling", "correct": true}, {"label": "C", "text": "Simple random sampling", "correct": false}, {"label": "D", "text": "Systematic random sampling", "correct": false}], "correct_answer": "B. Stratified random sampling", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ In a diverse population, such as the one in urban Delhi, stratified random sampling is an effective method to ensure that different subgroups (or strata) of the population are represented in the sample.</li><li>↳ stratified random sampling</li><li>↳ In this case, the population can be divided into subgroups based on factors like socioeconomic status, age, dietary preferences, or geographic location within the urban region.</li><li>↳ After dividing the population into strata, random samples are then taken from each group, ensuring that the sample is representative of the entire population.</li><li>↳ Cluster random sampling (Option A): is incorrect because cluster sampling is used when the population is divided into clusters, often geographically, and entire clusters are randomly selected. While this can be used in large-scale studies, it doesn't specifically ensure representation of the diverse subgroups within the population as well as stratified sampling.</li><li>↳ Cluster random sampling (Option A):</li><li>↳ cluster sampling</li><li>↳ Simple random sampling (Option C): is incorrect because simple random sampling involves selecting individuals from the entire population randomly without considering any subgroups. While it may still give a sample, it may not adequately represent the diverse dietary habits of the population in urban Delhi.</li><li>↳ Simple random sampling (Option C):</li><li>↳ simple random sampling</li><li>↳ Systematic random sampling (Option D): is incorrect because systematic random sampling involves selecting every nth individual from a list or a sequence of individuals. While it's easier to implement, it doesn't ensure that different groups within the population are represented as effectively as stratified sampling.</li><li>↳ Systematic random sampling (Option D):</li><li>↳ systematic random sampling</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a patient, if a point-of-care diagnostic test with a sensitivity of 98% yields a negative test result, what does this indicate?", "options": [{"label": "A", "text": "The patient would need another point–of–care diagnostic test for the same clinical condition", "correct": false}, {"label": "B", "text": "The prevalence of the disease is 2%.", "correct": false}, {"label": "C", "text": "The patient is less likely to have the disease", "correct": true}, {"label": "D", "text": "The patient has been wrongly ruled out due to false negatives", "correct": false}], "correct_answer": "C. The patient is less likely to have the disease", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/MJFNVbJfUZFvWXT2syl21745305630.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following indicators can help determine whether the health system is important to identifying leprosy in the community?", "options": [{"label": "A", "text": "Treatment completion rate", "correct": false}, {"label": "B", "text": "Annual new case detection rate per lac", "correct": true}, {"label": "C", "text": "Treatment initiation rate", "correct": false}, {"label": "D", "text": "Proportion of newly diagnosed patients with grade 2 disability", "correct": false}], "correct_answer": "B. Annual new case detection rate per lac", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements accurately reflects the findings of the multivariate analysis presented in the table below, regarding the correlation between the risk of blindness and variables such as age, literacy rate, residence, and gender? Variables Odds ratio p-value Age &lt;50y 1.1 &lt;0.001 50-59y 1.2 &lt;0.001 60-69y 1.5 &lt;0.001 70-79y 1.6 &lt;0.001 &gt;80y 2.1 &lt;0.001 Male 1.2 0.2 Female 0.3 &lt;0.001 Rural 2.4 0.1 Urban 1 &lt;0.001 Literate 0.4 &lt;0.01 Illiterate 1.2 &lt;0.01 1. The female population is at greater risk of developing blindness. 2. People dwelling in rural areas are at increased risk of developing blindness 3. The risk of developing blindness increases with age 4. Illiteracy leads to an increased risk of developing blindness", "options": [{"label": "A", "text": "2 and 3", "correct": false}, {"label": "B", "text": "1 and 3", "correct": false}, {"label": "C", "text": "1 and 2", "correct": false}, {"label": "D", "text": "3 and 4", "correct": true}], "correct_answer": "D. 3 and 4", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "5-year old Ram and 3-year-old Sham are Rama Devi’s sons. Sham developed a rash, but Rama Devi ignored it, assuming it to be an allergy. After 10 days, Ram also developed a rash along with a fever. Out of fear, Rama Devi took Ram to the primary health center (PHC). The healthcare workers at the PHC suspected it to be measles. Choose all correct options from among the following: 1. Ram is an index case. 2. Sham is a primary case 3. Ram got the infection from Sham 4. Ram could have received post-exposure prophylaxis if his mother had brought him to the hospital when Sham got the rash.", "options": [{"label": "A", "text": "1, 2, 3 and 4 are correct", "correct": true}, {"label": "B", "text": "1 only is correct", "correct": false}, {"label": "C", "text": "1 and 4 are correct", "correct": false}, {"label": "D", "text": "1 and 3 are correct", "correct": false}], "correct_answer": "A. 1, 2, 3 and 4 are correct", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Identify the formula given below:", "options": [{"label": "A", "text": "Standard deviation", "correct": true}, {"label": "B", "text": "Standard error", "correct": false}, {"label": "C", "text": "Median", "correct": false}, {"label": "D", "text": "Variance", "correct": false}], "correct_answer": "A. Standard deviation", "question_images": ["https://image.prepladder.com/notes/voibTikKO99S3grTzqNO1746699870.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:626px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measures of dispersion</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Calculation </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Standard deviation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measures the variation or <span class=\"customMeta\" data-dictid=\"aff8304142169277718661b3b8980a\">dispersion</span> of a set of values around the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>σ = √(∑(x− x̄)<sup>2 </sup>/n)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The difference between the highest and lowest values in a dataset.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Range = Maximum value - Minimum value</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mean deviation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measures the average absolute <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> of data points from the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mean <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> = ∑ X - x̄ / n</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Variance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measures the average of the squared differences from the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Variance = σ<sup>2</sup></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which methods are used to evaluate contraceptive failure?", "options": [{"label": "A", "text": "Pharmacological index", "correct": false}, {"label": "B", "text": "Pearl index", "correct": true}, {"label": "C", "text": "Performance index", "correct": false}, {"label": "D", "text": "Efficacy index", "correct": false}], "correct_answer": "B. Pearl index", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Reference:</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:617px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Formula</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><em>(Total <span class=\"customMeta\" data-dictid=\"fb7ff97e071692777180252299cf10\">accidental</span> pregnancies / Total months of exposure) x 1200</em></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Numerator</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>The total number of <span class=\"customMeta\" data-dictid=\"fb7ff97e071692777180252299cf10\">accidental</span> pregnancies, including pregnancies that resulted in live births, stillbirths, abortions, or are ongoing.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Denominator</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>(Total months in the review period) <strong>–</strong> (months stopped using <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> for non-pregnancy reasons)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Minimum Data</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>At least 600 months of exposure.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>PI assumes a constant failure rate over time, but <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> failure rates typically decline with longer use.</li>\n<li>High-fertility couples conceive earlier, skewing results towards lower-fertility couples later in studies.</li>\n<li>PI ignores factors beyond <span class=\"customMeta\" data-dictid=\"fb7ff97e071692777180252299cf10\">accidental</span> pregnancy that affect effectiveness, like user dissatisfaction, side effects, attempts to conceive, or loss of follow-up.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Better methods</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Life Table Analysis is a better method to evaluate <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> efficacy.</p>\n<p>It calculates <span class=\"customMeta\" data-dictid=\"fa914a0d95169277718542753b513d\">cumulative</span> failure rates over a specified time frame, like one</p>\n<p>month.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Examine the provided graphs depicting various occupational groups and their likelihood of developing fever. Identify the group with the greatest probability of experiencing fever.", "options": [{"label": "A", "text": "Industrial workers", "correct": false}, {"label": "B", "text": "Farmers", "correct": false}, {"label": "C", "text": "White-collar jobs", "correct": true}, {"label": "D", "text": "Housewives", "correct": false}], "correct_answer": "C. White-collar jobs", "question_images": ["https://image.prepladder.com/notes/KY0iiluJEX4JlcfsDcjh1747918095.png", "https://image.prepladder.com/notes/JcaIKmxE8yvhCElhbXMj1747918136.png"], "explanation_images": ["https://image.prepladder.com/content/OWOnRSw1HmzYrCnq2D1n1745912386.png", "https://image.prepladder.com/content/0SW02jtaGzOUEuObwwgK1745912393.png", "https://image.prepladder.com/content/B62FmdpwrAtlhFU1oaUg1745912310.png", "https://image.prepladder.com/content/0STWS1sHfCAW9wS1fXi61745912399.png", "https://image.prepladder.com/content/pWa4C7GDKjDzVEEKmfNa1745912405.png", "https://image.prepladder.com/content/0QoJCN1R6boUZHe2VUYE1745912422.png"], "explanation": "<p>Correct Answer C - White-collar jobs</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<thead>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Image</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Explanation</strong></p>\n</td>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"329\" src=\"https://image.prepladder.com/content/OWOnRSw1HmzYrCnq2D1n1745912386.png\" width=\"466\"/><strong> </strong></p>\n<p style=\"text-align: center;\"><strong>Simple Bar <span class=\"customMeta\" data-dictid=\"a445e59f7816927771864e36b1dbd3\">Diagram</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Simple bar diagrams represent the frequency of <span class=\"customMeta\" data-dictid=\"635650799116927771862d7cb568f4\">discrete</span> variables like gender.</li>\n<li>Discrete variables:These variables take fewer values and no in between values.\n\t\t\t\t<ul>\n<li>Examples: Religion, Blood groups</li>\n</ul>\n</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"246\" src=\"https://image.prepladder.com/content/0SW02jtaGzOUEuObwwgK1745912393.png\" width=\"466\"/><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"18\" src=\"https://image.prepladder.com/content/B62FmdpwrAtlhFU1oaUg1745912310.png\" width=\"18\"/><strong></strong></p>\n<p style=\"text-align: center;\"><strong>Compound Bar <span class=\"customMeta\" data-dictid=\"a445e59f7816927771864e36b1dbd3\">Diagram</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>There are gaps (discrete data) represented with multiple bars.</li>\n<li>It is <span class=\"customMeta\" data-dictid=\"1304db17d3169277719684a316a8c4\">qualitative</span> in the first quarter.</li>\n<li>It is a Multiple bar diagram/Compound bar diagram.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"321\" src=\"https://image.prepladder.com/content/0STWS1sHfCAW9wS1fXi61745912399.png\" width=\"466\"/></p>\n<p style=\"text-align: center;\"><strong>Component Bar <span class=\"customMeta\" data-dictid=\"a445e59f7816927771864e36b1dbd3\">Diagram</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Same bar has been divided into different components and each component represents its frequency.</li>\n<li>It is a frequency of <span class=\"customMeta\" data-dictid=\"635650799116927771862d7cb568f4\">discrete</span> variables.</li>\n<li>It is known as the Component bar diagram.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"458\" src=\"https://image.prepladder.com/content/pWa4C7GDKjDzVEEKmfNa1745912405.png\" width=\"466\"/></p>\n<p style=\"text-align: center;\"><strong>Histogram </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>It is not a bar diagram.</li>\n<li>It represents the frequency of continuous variables or <span class=\"customMeta\" data-dictid=\"ef5cb829b8169277719603304e73cb\">quantitative</span> variables.</li>\n<li>Height is a <span class=\"customMeta\" data-dictid=\"ef5cb829b8169277719603304e73cb\">quantitative</span> or <span class=\"customMeta\" data-dictid=\"558c892bf516927771857a44d2fe91\">continuous variable</span> (can take many possible values and also in between values)</li>\n<li>It can be expressed in decimals and there is no gap in between.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of statistical diagram is used in the given text to illustrate the population change between 1983 and 1989 in a specific location?", "options": [{"label": "A", "text": "Histogram", "correct": false}, {"label": "B", "text": "Line diagram", "correct": false}, {"label": "C", "text": "Component bar graph", "correct": true}, {"label": "D", "text": "Multiple bar graphs", "correct": false}], "correct_answer": "C. Component bar graph", "question_images": ["https://image.prepladder.com/content/P4O6pZL13J0aZnRtD5fY1748163870.png"], "explanation_images": ["https://image.prepladder.com/content/rZgryOT4tho4uSUkbXHI1746103652.png", "https://image.prepladder.com/content/030R5jbNwd5uYC6WgIH11746103661.png", "https://image.prepladder.com/content/3NPnRo9Qa7v5fLpx9NNi1746103670.png", "https://image.prepladder.com/content/jTkxnUUMYIKJmPlhzQSx1746103679.png", "https://image.prepladder.com/content/fOy50mAKpUxbKXgTwZgX1746103688.png"], "explanation": "<p>Correct Answer C - Component bar graph</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<thead>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Image</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Explanation</strong></p>\n</td>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"329\" src=\"https://image.prepladder.com/content/rZgryOT4tho4uSUkbXHI1746103652.png\" width=\"466\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p style=\"text-align:center\"><strong>Simple Bar <span class=\"customMeta\" data-dictid=\"a445e59f7816927771864e36b1dbd3\">Diagram</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Simple bar diagrams represent the frequency of <span class=\"customMeta\" data-dictid=\"635650799116927771862d7cb568f4\">discrete</span> variables like gender.</li>\n<li>Discrete variables:These variables take fewer values and no in between values.\n\t\t\t\t<ul>\n<li>Examples: Religion, Blood groups</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"246\" src=\"https://image.prepladder.com/content/030R5jbNwd5uYC6WgIH11746103661.png\" width=\"466\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p style=\"text-align:center\"><strong>Compound Bar <span class=\"customMeta\" data-dictid=\"a445e59f7816927771864e36b1dbd3\">Diagram</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>There are gaps (discrete data) represented with multiple bars.</li>\n<li>It is <span class=\"customMeta\" data-dictid=\"1304db17d3169277719684a316a8c4\">qualitative</span> in the first quarter.</li>\n<li>It is a Multiple bar diagram/Compound bar diagram.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"321\" src=\"https://image.prepladder.com/content/3NPnRo9Qa7v5fLpx9NNi1746103670.png\" width=\"466\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p style=\"text-align:center\"><strong>Component Bar <span class=\"customMeta\" data-dictid=\"a445e59f7816927771864e36b1dbd3\">Diagram</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Same bar has been divided into different components and each component represents its frequency.</li>\n<li>It is a frequency of <span class=\"customMeta\" data-dictid=\"635650799116927771862d7cb568f4\">discrete</span> variables.</li>\n<li>It is known as the Component bar diagram.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"458\" src=\"https://image.prepladder.com/content/jTkxnUUMYIKJmPlhzQSx1746103679.png\" width=\"466\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p style=\"text-align:center\"><strong>Histogram (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>It is not a bar diagram.</li>\n<li>It represents the frequency of continuous variables or <span class=\"customMeta\" data-dictid=\"ef5cb829b8169277719603304e73cb\">quantitative</span> variables.</li>\n<li>Height is a <span class=\"customMeta\" data-dictid=\"ef5cb829b8169277719603304e73cb\">quantitative</span> or <span class=\"customMeta\" data-dictid=\"558c892bf516927771857a44d2fe91\">continuous variable</span> (can take many possible values and also in between values)</li>\n<li>It can be expressed in decimals and there is no gap in between.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which method would be most effective in delivering statistical data to emphasize the significance of routine antenatal care for pregnant mothers, when educating a small, uneducated village during your rural posting?", "options": [{"label": "A", "text": "Pictogram", "correct": true}, {"label": "B", "text": "Line diagram", "correct": false}, {"label": "C", "text": "Histogram", "correct": false}, {"label": "D", "text": "Frequency polygon", "correct": false}], "correct_answer": "A. Pictogram", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/BdV2tqIT4DFFFY6TXWQI1746102013.png", "https://image.prepladder.com/content/kk4RSSCJwlNJY5XDBXti1746102026.png", "https://image.prepladder.com/content/bSzc8PwJMa2DW6KJNqDj1746102034.png", "https://image.prepladder.com/content/4L2F2AW1W907LfYjrk5g1746102053.png", "https://image.prepladder.com/content/YB2eU5HEbrszzkJK4dtm1746102060.png", "https://image.prepladder.com/content/SBEOXtvUghsDFLTC15nS1746102068.png"], "explanation": "<p>Correct Answer A - Pictog\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Quantitative of variables</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Qualitative variables</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Histogram</li>\n<li>Frequency polygon</li>\n<li>Line chart or diagram</li>\n<li>Cumulative frequency curve (Ogive)</li>\n<li>Scatter diagram</li>\n<li>Box and whisker plot</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Bar diagram</li>\n<li>Pie chart</li>\n<li>Pictogram</li>\n<li>Venn diagram</li>\n<li>Spot maps</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "You are initiating hypertension services at your Primary Health Center (PHC). 50 patients in need of antihypertensive treatment have been transferred from another facility. Among them, 40 were prescribed amlodipine (5mg orally) and 10 were prescribed lisinopril (10mg orally) due to contraindications with amlodipine. Medications are supplied monthly at the PHC, and you are responsible for ordering them. How many tablets do you need to order and what should be the reorder factor?", "options": [{"label": "A", "text": "1000, rf=3", "correct": false}, {"label": "B", "text": "1200, rf=2", "correct": false}, {"label": "C", "text": "1400, rf=3", "correct": false}, {"label": "D", "text": "1600, rf=2", "correct": true}], "correct_answer": "D. 1600, rf=2", "question_images": [], "explanation_images": [], "explanation": "<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the branch of statistics dealing with method of data collection and counting?", "options": [{"label": "A", "text": "Theoretical statistics", "correct": false}, {"label": "B", "text": "Descriptive statistics", "correct": true}, {"label": "C", "text": "Analytical statistics", "correct": false}, {"label": "D", "text": "Inferential statistics", "correct": false}], "correct_answer": "B. Descriptive statistics", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Regarding the given box-whisker plot, the true statement is:", "options": [{"label": "A", "text": "Mean &gt; Median &gt; Mode", "correct": true}, {"label": "B", "text": "Mode &gt; Median &gt; Mean", "correct": false}, {"label": "C", "text": "Mode = Mean = Median", "correct": false}, {"label": "D", "text": "Peaked symmetrical distribution", "correct": false}], "correct_answer": "A. Mean > Median > Mode", "question_images": ["https://image.prepladder.com/content/PrPsgeptJf0mBQhLqQRd1714627268.png"], "explanation_images": [], "explanation": "<p>Correct Option A\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "To analyze the seasonal fluctuations of a disease in children, two groups were observed. One group was studied from June to July, while the other group, with similar characteristics, was observed from August to September. The appropriate statistical test to compare the data would be:", "options": [{"label": "A", "text": "Chi square", "correct": true}, {"label": "B", "text": "Paired t test", "correct": false}, {"label": "C", "text": "Wilcoxan test", "correct": false}, {"label": "D", "text": "ANOVA", "correct": false}], "correct_answer": "A. Chi square", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A study was conducted on two different samples for comparing variation between DBP and Vitamin D. The mean diastolic blood pressure is 110 with standard deviation 11 and the mean vitamin D level is 18 with standard deviation 3. Which of the following statement is true regarding the coefficient of variation (CV)?", "options": [{"label": "A", "text": "CV of DBP is more than Vitamin D", "correct": false}, {"label": "B", "text": "CV of Vitamin D is more than DBP", "correct": true}, {"label": "C", "text": "Both DBP and Vitamin D have equal variability", "correct": false}, {"label": "D", "text": "It cannot be ascertained from information provided", "correct": false}], "correct_answer": "B. CV of Vitamin D is more than DBP", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The margin of error will vary according to the sample sizes, with sample 1 having the largest size of 1000, followed by sample 2 with a size of 800, and sample 3 with the smallest size of 600.", "options": [{"label": "A", "text": "3&gt;2&gt;1", "correct": true}, {"label": "B", "text": "3&gt;1&gt;2", "correct": false}, {"label": "C", "text": "1&gt;2&gt;3", "correct": false}, {"label": "D", "text": "1=2=3", "correct": false}], "correct_answer": "A. 3>2>1", "question_images": ["https://image.prepladder.com/content/LRdRYLyvCrVf5CLkinA81715072166.png"], "explanation_images": ["https://image.prepladder.com/content/Q2na1pWqflnoYVvNrocC1715074459.png"], "explanation": "<p>Correct Option A- 3&gt;2&g\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Study A(red) and Study B(blue) done in a given population yields two different distribution curves as shown below. Comparing both the curves, which of the following will be true?", "options": [{"label": "A", "text": "Mean = mode = median", "correct": false}, {"label": "B", "text": "Mean = median, not equal to mode", "correct": true}, {"label": "C", "text": "Mean, median, mode not equal", "correct": false}, {"label": "D", "text": "Mode = median, not equal to mean", "correct": false}], "correct_answer": "B. Mean = median, not equal to mode", "question_images": ["https://image.prepladder.com/content/ZlilzmdS8cVEEXn4Pza41714627583.png"], "explanation_images": [], "explanation": "<p>Correct Option B\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the purpose of conducting a significance test for two or more proportions?", "options": [{"label": "A", "text": "Chi- square test", "correct": true}, {"label": "B", "text": "Student's test", "correct": false}, {"label": "C", "text": "Z test", "correct": false}, {"label": "D", "text": "ANOVA test", "correct": false}], "correct_answer": "A. Chi- square test", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A-Chi-squ\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "You have gone to a sub center as part of an audit. How many infants should be registered in a year with a health worker working there?", "options": [{"label": "A", "text": "50", "correct": false}, {"label": "B", "text": "100", "correct": false}, {"label": "C", "text": "150", "correct": true}, {"label": "D", "text": "200", "correct": false}], "correct_answer": "C. 150", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The chi-square test is used to test the significance of the association between:", "options": [{"label": "A", "text": "Age and serum cholesterol level", "correct": false}, {"label": "B", "text": "Heart rate and body mass index", "correct": false}, {"label": "C", "text": "Sex and type of cancer", "correct": true}, {"label": "D", "text": "Weight of a patient before and after a treatment", "correct": false}], "correct_answer": "C. Sex and type of cancer", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C-S\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements correctly describes the findings of a well-designed cancer study that obtained similar remission rates of 33.2% for both a new treatment and the usual treatment, with a p-value of 0.04?", "options": [{"label": "A", "text": "Both the treatments are equally effective", "correct": false}, {"label": "B", "text": "Neither of the treatments is effective", "correct": false}, {"label": "C", "text": "The new treatment is more effective than the usual treatment", "correct": true}, {"label": "D", "text": "The information given is not adequate to compare the efficacy of the treatments", "correct": false}], "correct_answer": "C. The new treatment is more effective than the usual treatment", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - The new treatment is more effective than the usual treatment.\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements accurately describes non-parametric tests?", "options": [{"label": "A", "text": "ANOVA is an example of a non-parametric test", "correct": false}, {"label": "B", "text": "It is used for skewed distributions", "correct": true}, {"label": "C", "text": "It involves the assumption that the data has a normal distribution", "correct": false}, {"label": "D", "text": "It cannot be used for small sample sizes", "correct": false}], "correct_answer": "B. It is used for skewed distributions", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B: It is used for skewed distribu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most effective approach to graphically represent the variations in the occurrence of a disease within a specific geographical region throughout a period of time?", "options": [{"label": "A", "text": "Line graph", "correct": true}, {"label": "B", "text": "Histogram", "correct": false}, {"label": "C", "text": "Ogive", "correct": false}, {"label": "D", "text": "Tree diagram", "correct": false}], "correct_answer": "A. Line graph", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/4fkdltiwUjvRJiBXOZdE1714629331.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the preferred test for evaluating the disparity in means between two groups in a study, where one group serves as the control?", "options": [{"label": "A", "text": "Chi-square test", "correct": false}, {"label": "B", "text": "Z test", "correct": false}, {"label": "C", "text": "Unpaired T test", "correct": true}, {"label": "D", "text": "Paired T test", "correct": false}], "correct_answer": "C. Unpaired T test", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C-Unpaired T\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not a measure of Dispersion?", "options": [{"label": "A", "text": "Standard error", "correct": false}, {"label": "B", "text": "Variance", "correct": false}, {"label": "C", "text": "Range", "correct": false}, {"label": "D", "text": "Mean", "correct": true}], "correct_answer": "D. Mean", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Please observe the provided image and choose the linear regression equation that matches the displayed graph.", "options": [{"label": "A", "text": "y = 10 – x", "correct": false}, {"label": "B", "text": "x = 10+y", "correct": false}, {"label": "C", "text": "y = 11 + 2x", "correct": true}, {"label": "D", "text": "x = 11 + 2y", "correct": false}], "correct_answer": "C. y = 11 + 2x", "question_images": ["https://image.prepladder.com/content/njrqoWJWXA909sYApdu31714564529.png"], "explanation_images": [], "explanation": "<p>Correct Option C- which is y = 11 + 2x.\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most appropriate measure of central tendency when there is a diverse range of values within a community?", "options": [{"label": "A", "text": "Mean", "correct": false}, {"label": "B", "text": "Mode", "correct": false}, {"label": "C", "text": "Median", "correct": true}, {"label": "D", "text": "Standard deviation", "correct": false}], "correct_answer": "C. Median", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the best way to use a graphical representation to illustrate patterns and changes in the occurrence of diarrheal disease within a specific region?", "options": [{"label": "A", "text": "Line graph", "correct": true}, {"label": "B", "text": "Histogram", "correct": false}, {"label": "C", "text": "Ogive", "correct": false}, {"label": "D", "text": "Tree diagram", "correct": false}], "correct_answer": "A. Line graph", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Z2ibdVFz7m6KCp60DlrM1714557699.png"], "explanation": "<p>Correct Option A: Line graph\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 71 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following correctly describes Type I and Type II errors in hypothesis testing?", "options": [{"label": "A", "text": "Type I rejects a true null hypothesis; Type II accepts a false null hypothesis.", "correct": true}, {"label": "B", "text": "Type I accepts a false null hypothesis; Type II rejects a true null hypothesis.", "correct": false}, {"label": "C", "text": "Type I rejects a true alternative hypothesis; Type II accepts a false alternative hypothesis.", "correct": false}, {"label": "D", "text": "Type I: Accepting a true null hypothesis; Type II: Rejecting a false null hypothesis.", "correct": false}], "correct_answer": "A. Type I rejects a true null hypothesis; Type II accepts a false null hypothesis.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Criteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type I Error</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type II Error</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rejecting a true null hypothesis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Accepting a false null hypothesis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Also Known As</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>False positive.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>False-negative.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Implication</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding there is an effect when there is none.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding there is no effect when there is one.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Probability Notation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Alpha (α)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Beta (β)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Consequences</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Believing a result is significant when it is not.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Missing a significant result.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Example</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding a drug has an effect when it does not.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding a drug does not have an effect when it does.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Testing Goal</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimise α to reduce the <span class=\"customMeta\" data-dictid=\"946a9a6be11692777201eb269e8327\">Type I</span> error rate.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimise β to reduce the <span class=\"customMeta\" data-dictid=\"bd04ba63bc1692777201f54e0ee060\">Type II</span> error rate.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Qoog5g4CXCDZsdLaVvnf1741596348.mp3", "video": ""}, {"text": "Which of the following is statistically significant?", "options": [{"label": "A", "text": "RR of 2.5 with a 95% CI of 2.0 to 3.1", "correct": true}, {"label": "B", "text": "OR of 0.9 with a 95% CI of 0.5 to 8", "correct": false}, {"label": "C", "text": "p-value of 0.5 and a RR of 2.5.", "correct": false}, {"label": "D", "text": "RR of 5.0 with a 95% CI of 0.1 to 9.8", "correct": false}], "correct_answer": "A. RR of 2.5 with a 95% CI of 2.0 to 3.1", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FOyDavMKtS5IadP1ybEK1741594920.mp3", "video": ""}, {"text": "A biostatistician studies adults' average systolic blood pressure (SBP) in a certain population. A sample of 40 adults was taken, and the mean systolic blood pressure was 130 mmHg with a standard deviation of 15 mmHg. Which is the correct 95% confidence interval for the true mean systolic blood pressure?", "options": [{"label": "A", "text": "(125.25 mmHg, 134.75 mmHg)", "correct": true}, {"label": "B", "text": "(138.36 mmHg, 131.64 mmHg)", "correct": false}, {"label": "C", "text": "(128.00 mmHg, 127.00 mmHg)", "correct": false}, {"label": "D", "text": "(127.36 mmHg, 132.64 mmHg)", "correct": false}], "correct_answer": "A. (125.25 mmHg, 134.75 mmHg)", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/opYGXVY1wnPaOYKwBepP1741595101.mp3", "video": ""}, {"text": "A public health researcher is studying the average weight of newborns in a specific region. The researcher collects a random sample of 100 newborns and calculates a 95% confidence interval for the mean weight (3.2 kg, 3.8 kg). Which of the following statements correctly interprets the 95% confidence level?", "options": [{"label": "A", "text": "There is a 95% chance that the mean weight of all newborns in the region falls between 3.2 kg and 3.8 kg", "correct": false}, {"label": "B", "text": "95% of the newborns in the sample weigh between 3.2 kg and 3.8 kg.", "correct": false}, {"label": "C", "text": "95 % of the intervals will include the true mean if we calculate CI for multiple samples", "correct": true}, {"label": "D", "text": "Mean weight of all newborns in the region is exactly 3.5 kg, which is the midpoint of the confidence interval.", "correct": false}], "correct_answer": "C. 95 % of the intervals will include the true mean if we calculate CI for multiple samples", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gltdXy42C4rRspwxakjb1741595295.mp3", "video": ""}, {"text": "A study was conducted to determine the effectiveness of a new antihypertensive. The study is designed with a significance level (alpha) of 0.05 and a sample size of 50 participants. The type II error is calculated as 0.25. Which of the following is the power of this study, and how can it be increased?", "options": [{"label": "A", "text": "The power of the study is 75% and can be increased by decreasing the sample size.", "correct": false}, {"label": "B", "text": "The power of the study is 70%, and it can be increased by increasing the sample size.", "correct": false}, {"label": "C", "text": "The power of the study is 75% and it can be increased by increasing the sample size.", "correct": true}, {"label": "D", "text": "The power of the study is 95% and it can be increased by increasing the sample size.", "correct": false}], "correct_answer": "C. The power of the study is 75% and it can be increased by increasing the sample size.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5s4HiXCsrNNRj7t8XzPw1741597118.mp3", "video": ""}, {"text": "A health researcher is testing the effectiveness of a new drug in reducing blood pressure. The null hypothesis (H0) is that the drug does not affect blood pressure, while the alternative hypothesis (H1) is that the drug does reduce blood pressure. After conducting the study and analysing the data, the researcher calculates a p-value of 0.03. Based on this information, which of the following is true?", "options": [{"label": "A", "text": "Probability of the null hypothesis being accepted is 3%.", "correct": true}, {"label": "B", "text": "Observed effect has a less than 3% chance of occurring by random chance.", "correct": false}, {"label": "C", "text": "Probability of the null hypothesis being rejected is 3%.", "correct": false}, {"label": "D", "text": "Observed effect has a 97% chance of occurring due to the new drug", "correct": false}], "correct_answer": "A. Probability of the null hypothesis being accepted is 3%.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/S1hkPpGGVEJ0GtvHN0PL1741596938.mp3", "video": ""}, {"text": "What does the p-value represent in hypothesis testing?", "options": [{"label": "A", "text": "Probability that a Type 2 error is being made.", "correct": false}, {"label": "B", "text": "Probability of declaring a significant difference when there is none in reality.", "correct": true}, {"label": "C", "text": "Probability of declaring a significant difference when it is present.", "correct": false}, {"label": "D", "text": "It represents power and is equal to 1 - Beta.", "correct": false}], "correct_answer": "B. Probability of declaring a significant difference when there is none in reality.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/zFF6pHuk7dUfDynred7H1741596788.mp3", "video": ""}, {"text": "A weighing scale consistently adds 10% to each weight. A true weight of 10 kg is 11 kg, while a true weight of 40 kg is 44 kg. Which type of error is exhibited in this scenario?", "options": [{"label": "A", "text": "Random error", "correct": false}, {"label": "B", "text": "Non-random error", "correct": true}, {"label": "C", "text": "Human error", "correct": false}, {"label": "D", "text": "Operator error", "correct": false}], "correct_answer": "B. Non-random error", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:721px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Criteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Random Error</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Non <span class=\"customMeta\" data-dictid=\"21d21637461692777197aab2a7283a\">Random Error</span> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Unpredictable variations in measurements due to chance factors</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Consistent or predictable deviations from the true value</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Nature of Variation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causes measurements to fluctuate randomly around the true value</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causes measurements to deviate in one direction consistently.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cause</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Typically due to</p>\n<ul>\n<li>Random chance</li>\n<li>Environmental factors</li>\n<li>Sampling variability</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Often due</p>\n<ul>\n<li>Instrumental error</li>\n<li>Methodological error</li>\n<li>Calibration error</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Effect on Measurements</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Increases measurement <span class=\"customMeta\" data-dictid=\"128186f064169277720116e786798a\">variability</span> across repeated trials.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Introduces a consistent bias or offset from the true value.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Reduction Strategy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>This can be <span class=\"customMeta\" data-dictid=\"10c83adb331692777197f775bec1aa\">reduced</span> by increasing sample size or conducting more trials</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires adjustments to measurement tools, recalibration, or procedural changes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Fluctuations in experimental readings despite controlled conditions.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A scale consistently adding 10% to all weights measured.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Lp3ykJdEUavc2aLv1rFQ1741596658.mp3", "video": ""}, {"text": "A new drug designed to lower cholesterol levels is being tested. The testing involved 1000 participants. The null hypothesis is that \"the new drug does not affect cholesterol levels\". After analysing the data, the researchers conclude that the drug doesn't work, but in reality, it does have a small but clinically significant effect. What type of error has occurred?", "options": [{"label": "A", "text": "Type I error", "correct": false}, {"label": "B", "text": "Type II error", "correct": true}, {"label": "C", "text": "No error has occurred", "correct": false}, {"label": "D", "text": "Both Type I and Type II errors", "correct": false}], "correct_answer": "B. Type II error", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/s9i5hX9vz2OK28i0Nlpd1741597358.mp3", "video": ""}, {"text": "In a clinical trial for a new hypertension drug, the null hypothesis states: \"The new drug does not affect blood pressure.\" If researchers commit a Type 1 error, which of the following is true?", "options": [{"label": "A", "text": "Drug lower BP, but it was concluded that it has no effect.", "correct": false}, {"label": "B", "text": "Drug has no effect, but it was concluded as it lowers BP.", "correct": true}, {"label": "C", "text": "Drug raises BP, but it was concluded that it has no effect.", "correct": false}, {"label": "D", "text": "Drug has no effect, and it was correctly concluded.", "correct": false}], "correct_answer": "B. Drug has no effect, but it was concluded as it lowers BP.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Criteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type I Error</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type II Error</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rejecting a true null hypothesis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Accepting a false null hypothesis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Also Known As</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>False positive.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>False-negative.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Implication</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding there is an effect when there is none.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding there is no effect when there is one.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Probability Notation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Alpha (α)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Beta (β)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Consequences</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Believing a result is significant when it is not.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Missing a significant result.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Example</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding a drug has an effect when it does not.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concluding a drug does not have an effect when it does.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Testing Goal</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimise α to reduce the <span class=\"customMeta\" data-dictid=\"946a9a6be11692777201eb269e8327\">Type I</span> error rate.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimise β to reduce the <span class=\"customMeta\" data-dictid=\"bd04ba63bc1692777201f54e0ee060\">Type II</span> error rate.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ZaZeCs73RBJzIzkNFoAi1741596499.mp3", "video": ""}, {"text": "Which measure of dispersion is considered the most comprehensive and widely used in statistical analysis?", "options": [{"label": "A", "text": "Range", "correct": false}, {"label": "B", "text": "Standard deviation", "correct": true}, {"label": "C", "text": "Mean deviation", "correct": false}, {"label": "D", "text": "Variance", "correct": false}], "correct_answer": "B. Standard deviation", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:607px\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"><strong>Measures of dispersion</strong></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Calculation </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Standard deviation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measures the variation or <span class=\"customMeta\" data-dictid=\"aff8304142169277718661b3b8980a\">dispersion</span> of a set of values around the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>σ = √(∑(x− x̄)<sup>2 </sup>/n)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The difference between the highest and lowest values in a dataset.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Range = Maximum value - Minimum value</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mean deviation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measures the average absolute <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> of data points from the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mean <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> = ∑ X - x̄ / n</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Variance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measures the average of the squared differences from the mean.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Variance = σ<sup>2</sup></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wpfS79DQT9X72xvBu01C1741593368.mp3", "video": ""}, {"text": "Which of the following statements regarding Poisson’s distribution is NOT true?", "options": [{"label": "A", "text": "It measures the probability of the occurrence of discrete events.", "correct": false}, {"label": "B", "text": "The average rate of events is denoted by lambda.", "correct": false}, {"label": "C", "text": "Poisson's distribution is skewed to the left when the rate of occurrence is small.", "correct": true}, {"label": "D", "text": "The distribution approaches symmetry as its rate of occurrence increases.", "correct": false}], "correct_answer": "C. Poisson's distribution is skewed to the left when the rate of occurrence is small.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Jm6Ed8P1dKQM3j8hUStg1728632950.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/32b4qnnULtS2i3kV4MYK1741596146.mp3", "video": ""}, {"text": "In the right-sided skewed distribution graph given below, what is the correct order of the measures of central tendency?", "options": [{"label": "A", "text": "Mean &lt; median &lt; mode", "correct": false}, {"label": "B", "text": "Mean &gt; median &gt; mode", "correct": true}, {"label": "C", "text": "Mean = median &gt; mode", "correct": false}, {"label": "D", "text": "Mean = median = mode", "correct": false}], "correct_answer": "B. Mean > median > mode", "question_images": ["https://image.prepladder.com/notes/nnu8YIZ1zjLPfFxe0Uj51734024601.png"], "explanation_images": ["https://image.prepladder.com/notes/bjLhH3jqnIfkpGdmDf0n1734024654.png", "https://image.prepladder.com/notes/vnxRcR7DRMzbvfiO650l1734024684.png", "https://image.prepladder.com/notes/hUQEMxjHR3SnqPjV1Aq01734024716.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ImH0LbuVFJDfbV9vkaUK1741596011.mp3", "video": ""}, {"text": "Based on the Gaussian curve, which ranges under the curve cover 95% of the observations?", "options": [{"label": "A", "text": "Range A", "correct": false}, {"label": "B", "text": "Range B", "correct": false}, {"label": "C", "text": "Range C", "correct": true}, {"label": "D", "text": "Range D", "correct": false}], "correct_answer": "C. Range C", "question_images": ["https://image.prepladder.com/notes/d7WfWHKhf9tzG18zkrIz1734024454.png"], "explanation_images": ["https://image.prepladder.com/notes/i1XSkTRB07F19BoHSCIs1734024515.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:547px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Area under the curve </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Observation covered </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mean +/- 1 SD</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>68.3% ~ 68% of observation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mean +/- 2 SD</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>95.4% ~ 95% of observation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mean +/- 3 SD</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>99.7% ~ 99% of observation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mean +/- ∞SD</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100% of observation</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0FcbdqDSMtlMol4qSqsg1741595922.mp3", "video": ""}, {"text": "The blood pressure measurement of 120 patients was conducted in a health camp. The first quartile systolic blood pressure was 108 mm Hg, and the third quartile was 136 mm Hg. How many people will have their BP between the 1st and 3rd quartile?", "options": [{"label": "A", "text": "30 patients", "correct": false}, {"label": "B", "text": "60 patients", "correct": true}, {"label": "C", "text": "90 patients", "correct": false}, {"label": "D", "text": "75 patients", "correct": false}], "correct_answer": "B. 60 patients", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/ouwIhwdbewnWRE6MV7dz1734024343.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/twdqt7r98Sz9iTOJB0fr1741595794.mp3", "video": ""}, {"text": "Where does the data point fall if the Z score equals zero in a normal distribution graph?", "options": [{"label": "A", "text": "Between mean and +1 SD", "correct": false}, {"label": "B", "text": "Exactly at the mean", "correct": true}, {"label": "C", "text": "Between mean and -1 SD", "correct": false}, {"label": "D", "text": "Less than -3 SD", "correct": false}], "correct_answer": "B. Exactly at the mean", "question_images": ["https://image.prepladder.com/notes/8nd4QpaWtyqajDr6X8l81734024231.png"], "explanation_images": ["https://image.prepladder.com/notes/8nd4QpaWtyqajDr6X8l81734024231.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:460px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Z score </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Standard <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">-2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">-2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">-1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">-1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Mean</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">+1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">+1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">+2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">+2</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CZ3MtDyBaBxbLVBBN0Kz1741594462.mp3", "video": ""}, {"text": "In a survey, 100 individuals were randomly sampled to estimate the mean age of a population. The sample mean age was 35, with a standard deviation of 5 years. What is the standard error of the mean (SE of mean) for this survey?", "options": [{"label": "A", "text": "0.5 years", "correct": true}, {"label": "B", "text": "0.05 years", "correct": false}, {"label": "C", "text": "5 years", "correct": false}, {"label": "D", "text": "0.25 years", "correct": false}], "correct_answer": "A. 0.5 years", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:497px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Standard error of the mean = standard <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">deviation</span> / </strong><strong>√</strong><strong> </strong><strong>sample size</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:700px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Standard error of the mean </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Standard error of proportion</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Quantifies the <span class=\"customMeta\" data-dictid=\"128186f064169277720116e786798a\">variability</span> of sample means around the true population mean<strong>.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measures how much sample proportions vary around the population proportion</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>SE mean = σ/√N</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>SE proportion = √(pq/N)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CjKepVE27B75XUDETA8d1741594263.mp3", "video": ""}, {"text": "The heights (in centimetres) of students in the two classes are summarised as follows: Class A: Mean height = 170 cm, Standard Deviation = 7.5 cm Class B: Mean height = 162.5 cm, Standard Deviation = 8.2 cm Calculate the coefficient of variation (COV) for both classes and determine which class shows greater relative variability in heights.", "options": [{"label": "A", "text": "Class A", "correct": false}, {"label": "B", "text": "Class B", "correct": true}, {"label": "C", "text": "Both classes have the same coefficient of variation", "correct": false}, {"label": "D", "text": "Cannot be determined from the given information", "correct": false}], "correct_answer": "B. Class B", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:394px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>COV = (Standard <span class=\"customMeta\" data-dictid=\"fa328dbc09169277718631e23a772f\">Deviation</span> / Mean)×100</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Vuco8Mfkmm6GeukhBI5m1741594121.mp3", "video": ""}, {"text": "Which of the following is not true regarding the coefficient of variation (COV)?", "options": [{"label": "A", "text": "COV compares the relative variability of datasets with different means.", "correct": false}, {"label": "B", "text": "Higher COV signifies greater dispersion relative to the mean, indicating lower reliability", "correct": false}, {"label": "C", "text": "Lower COV suggests data points are closer to the mean, indicating higher reliability.", "correct": false}, {"label": "D", "text": "COV can be negative if the standard deviation is smaller than the mean.", "correct": true}], "correct_answer": "D. COV can be negative if the standard deviation is smaller than the mean.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:295px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>COV = σ/ mean x 100</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/irlQFE6GYlsbOhxbd0Cn1741593753.mp3", "video": ""}, {"text": "A small sample of students' weights (in pounds) is recorded to analyse their distribution. The weights are 120,125,130,122,128. Calculate the standard deviation for the weights of students.", "options": [{"label": "A", "text": "4.12", "correct": true}, {"label": "B", "text": "4.00", "correct": false}, {"label": "C", "text": "4.51", "correct": false}, {"label": "D", "text": "5.20", "correct": false}], "correct_answer": "A. 4.12", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/F2oZtPXbgwGcMfEme0Wd1741593540.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 30 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Under which initiative are acute respiratory illness, malnutrition &amp; diarrhea managed in children aged 0 to 5 years?", "options": [{"label": "A", "text": "Expanded Program on Immunization (EPI)", "correct": false}, {"label": "B", "text": "National Rural Health Mission (NRHM)", "correct": false}, {"label": "C", "text": "Integrated Management of Neonatal and Childhood Illness (IMNCI)", "correct": true}, {"label": "D", "text": "National Vector Borne Disease Control Program (NVBDCP)", "correct": false}], "correct_answer": "C. Integrated Management of Neonatal and Childhood Illness (IMNCI)", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/OYXHOFxGol8BR0SVdlgT1733990866.png", "https://image.prepladder.com/content/30NAqqvTztZvmmiMF81d1733990285.png", "https://image.prepladder.com/content/Q2cRGoZb9ymsWyON3qXG1733990128.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kTDsKxscdxB498CiknP71742766153.mp3", "video": ""}, {"text": "A distressed mother brings her 6-month-old son to the emergency. She complains that he has been refusing to feed, vomiting, and passing frequent loose stools for the past 2 days. He also had a bout of convulsions an hour ago. On examination, the baby is lethargic and difficult to wake. Which among his symptoms is not a danger sign?", "options": [{"label": "A", "text": "Lethargy and difficult to wake", "correct": false}, {"label": "B", "text": "Refusal to feed", "correct": false}, {"label": "C", "text": "Convulsions", "correct": false}, {"label": "D", "text": "Frequent loose stools", "correct": true}], "correct_answer": "D. Frequent loose stools", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vcdN7zVMyMl23y2mNWHX1742766263.mp3", "video": ""}, {"text": "A mother brings her 10-month-old daughter to the clinic with complaints of refusal to feed and vomiting everything for the past 2 days. On examination, she is lethargic and also has fever. According to the IMNCI color coding system, how should this child be classified?", "options": [{"label": "A", "text": "Green (Mild illness)", "correct": false}, {"label": "B", "text": "Yellow (Moderate illness)", "correct": false}, {"label": "C", "text": "Pink (Severe illness)", "correct": true}, {"label": "D", "text": "Orange (Moderate illness)", "correct": false}], "correct_answer": "C. Pink (Severe illness)", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/wLFTrKcIlLSLNUf7v2py1733991089.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/70SEAiepXzK4dJxDM9I81742766391.mp3", "video": ""}, {"text": "A child aged 2 months was brought to the PHC by his mother. She reports that he has been very fussy and irritable for the past 3 days. Initially, she noticed that he had a mild cough and a runny nose. Over the past 24 hours, his symptoms worsened and he is breathing rapidly. O/E the child is lethargic and irritable. His respiratory rate was 70/minute, chest drawing was present. The most appropriate line of management for this patient is.", "options": [{"label": "A", "text": "Classify as pneumonia and refer urgently to secondary level hospital.", "correct": false}, {"label": "B", "text": "Classify as pneumonia, start antibiotic, and advise to report after 2 days", "correct": false}, {"label": "C", "text": "Classify as very severe pneumonia, start antibiotics, and refer urgently.", "correct": true}, {"label": "D", "text": "Classify as severe pneumonia and keep the baby warm.", "correct": false}], "correct_answer": "C. Classify as very severe pneumonia, start antibiotics, and refer urgently.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/tubApDa7Atc4iKAeKZ2r1733991209.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8xGhw3Itu2HutJXWaErY1742766577.mp3", "video": ""}, {"text": "A 3yr old boy was brought to the clinic for complaints of cough and runny nose. He is otherwise healthy and is on schedule with his vaccinations. On examination, he had rapid breathing and was restless. Which of the following is considered to be fast breathing in children of 1 to 5 years of age?", "options": [{"label": "A", "text": "Respiratory rate &gt; 30/min", "correct": false}, {"label": "B", "text": "Respiratory rate &gt; 40/min", "correct": true}, {"label": "C", "text": "Respiratory rate &gt; 50/min", "correct": false}, {"label": "D", "text": "Respiratory rate &gt; 60/min", "correct": false}], "correct_answer": "B. Respiratory rate > 40/min", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/9R06q2Vcy9YNZ1bZaQje1733991389.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/WjKesIBgzwXH8MytHAwJ1742766745.mp3", "video": ""}, {"text": "Match the following : a) M. Kansasii i) Rapid growers b) M. Leprae ii) Scotochromogens c) M. Fortuitum iii) Photochromogens d) M. Scrofulaceum iv) Sensitive to INH", "options": [{"label": "A", "text": "a-iii, b-iv, c-i, d-ii", "correct": true}, {"label": "B", "text": "a-i, b-iii, c-iv, d-ii", "correct": false}, {"label": "C", "text": "a-ii, b-i, c-iv, d-iii", "correct": false}, {"label": "D", "text": "a-iv, b-ii, c-i, d-iii", "correct": false}], "correct_answer": "A. a-iii, b-iv, c-i, d-ii", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:772px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Characteristic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Typical Bacteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Atypical Bacteria</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Agents :</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Mycobacterium tuberculosis</li>\n<li>Nocardia</li>\n<li>Isospora</li>\n<li>M. Leprae</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>M. Kansasii - Photochromogens</li>\n<li>M. Scrofulaceum - Scotochromogens</li>\n<li>M. intracellulare - <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">Non</span> photochromogens</li>\n<li>M. Fortuitum - Rapid growers</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Virulence</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Highly virulent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Less virulent</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Lung Affected</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Healthy lungs</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Diseased lungs (e.g. lung with <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> deformity, <span class=\"customMeta\" data-dictid=\"38c41e122116927771859b63deb0ed\">cystic</span> fibrosis)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Human Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Can spread directly from human to human</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">No evidence of direct human spread; spread from the environment to humans</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Drug Resistance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Sensitive to standard anti-mycobacterial drugs (e.g., <span class=\"customMeta\" data-dictid=\"c2bea3e6d316927771904c30803e44\">INH</span> or streptomycin)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Usually resistant to standard anti-mycobacterial drugs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Growth Rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">All are slow growers</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Some are slow growers, and some are rapid growers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Pigment Production</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">All are <span class=\"customMeta\" data-dictid=\"05e2e2617c16927771952bcbeea08b\">pigment</span> non-producers</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Some are photochromogens, some are scotochromogens, and some are non-chromogens</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/B1U7Og8Zhv739dqqqESm1742767514.mp3", "video": ""}, {"text": "Which of the following statements is true about latent TB? A) 10% people with latent TB can develop active TB B) Individual can spread TB to others C) Alpha interferon test will be positive D) The bacilli are non-dormant", "options": [{"label": "A", "text": "A and C", "correct": true}, {"label": "B", "text": "B and D", "correct": false}, {"label": "C", "text": "A, B and D", "correct": false}, {"label": "D", "text": "Only B", "correct": false}], "correct_answer": "A. A and C", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0ILneNHJ19tTkz2G3eSO1742767402.mp3", "video": ""}, {"text": "Tuberculin conversion index aka Annual risk of infection (ARI) is a measure of?", "options": [{"label": "A", "text": "Incidence of TB Infection", "correct": true}, {"label": "B", "text": "Prevalence of TB infection", "correct": false}, {"label": "C", "text": "Incidence of TB disease", "correct": false}, {"label": "D", "text": "Prevalence of TB disease", "correct": false}], "correct_answer": "A. Incidence of TB Infection", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Ewwz8GqI7jTzNw6RyXy31733991504.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/UWyNWCf8KNNt0ohFzgwy1742767217.mp3", "video": ""}, {"text": "In which of the following is the tuberculin test considered negative?", "options": [{"label": "A", "text": "12 mm induration in a HIV negative drug abuser", "correct": false}, {"label": "B", "text": "10 mm induration in a 2 year old child", "correct": false}, {"label": "C", "text": "8 mm induration in a patient with silicosis", "correct": true}, {"label": "D", "text": "5 mm induration in a person with recent contact with active TB", "correct": false}], "correct_answer": "C. 8 mm induration in a patient with silicosis", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:395px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Induration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Result</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>> 9 mm</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\">Positive (past or current infection)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>6-9 mm</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\">Doubtful (M.TB or <span class=\"customMeta\" data-dictid=\"06123ff61a1692777182e19b790ebc\">atypical</span> mycobacterium)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>< 6 mm</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\">Negative (never infected)</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:589px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Induration Size for positive test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong> Conditions</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">≥<strong>5 mm</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>HIV positive</li>\n<li>Recent contacts with active TB <strong>(Option D ruled out)</strong></li>\n<li>Fibrotic changes on chest <span class=\"customMeta\" data-dictid=\"fd0c8ab494169277720227102dc79a\">x-ray</span> with prior TB</li>\n<li>Organ transplants</li>\n<li>Other <span class=\"customMeta\" data-dictid=\"c3c986cd721692777189b473814b2e\">immunosuppressive</span> patients</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">≥<strong>10 mm</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Recent immigrants from high TB <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> countries</li>\n<li>HIV negative drug abusers<strong> </strong><strong>(Option A ruled out)</strong></li>\n<li>Mycobacteriology lab personnel</li>\n<li>Residents and employees of high-risk areas</li>\n<li>DM, <strong>silicosis</strong>, cancers, blood disorders <strong>(Option C)</strong></li>\n<li>Children < 4 years <strong>(Option B ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">≥<strong>15 mm</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>For persons with no risk factors for TB</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Y5yGlWhNX7368w2Wn9IT1742767107.mp3", "video": ""}, {"text": "A 55-year-old healthcare worker with rheumatoid arthritis is started on immunosuppressive therapy. What is the most appropriate reason to perform a two-step tuberculin skin test (TST) before initiating treatment?", "options": [{"label": "A", "text": "To assess the patient's baseline immunity against tuberculosis", "correct": false}, {"label": "B", "text": "To confirm a recent positive TST result", "correct": false}, {"label": "C", "text": "To differentiate between a boosted reaction and a new infection", "correct": true}, {"label": "D", "text": "To monitor the effectiveness of immunosuppressive therapy on latent tuberculosis", "correct": false}], "correct_answer": "C. To differentiate between a boosted reaction and a new infection", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6tJpNdAZ32RsfegR1mRP1742766980.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 20 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A 35-year-old man presents with a fever and a rash that started as small, red spots on his trunk and has now progressed to fluid-filled blisters over the past 3 days. He mentions that he recently returned from a business trip where he attended a conference with participants from various countries. What is the most likely period during which he could have contracted chickenpox?", "options": [{"label": "A", "text": "5 days ago", "correct": false}, {"label": "B", "text": "8 days ago", "correct": false}, {"label": "C", "text": "16 days ago", "correct": true}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "C. 16 days ago", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:686px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Varicella-zoster virus (HHV 3- Human <span class=\"customMeta\" data-dictid=\"e502fd2a6816927771880ae17fc163\">Herpes</span> Virus 3)</li>\n<li>Double-stranded DNAvirus.<br/>\n\t\t\t\t </li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Source of infection</strong><br/>\n\t\t\t </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Scabs are not infectious, but the <span class=\"customMeta\" data-dictid=\"4b0fee14c816927772016e67cf3a13\">vesicular</span> fluid is infectious.</li>\n<li>Airborne- spreads via both <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> infection and <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Period of communicability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>1-2 days before and 4-5 days after the onset of the rash.</li>\n<li>Secondary attack rate- 85%</li>\n</ul>\n<br/>\n\t\t\t </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Host factors</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Age: <10 years</li>\n<li>Very common in school-going children</li>\n<li>One attack gives lifelong immunity</li>\n<li>Reactivation can occur as <span class=\"customMeta\" data-dictid=\"cf329b8cef169277720107b1efa15b\">Varicella</span> <span class=\"customMeta\" data-dictid=\"03350c16f71692777202dbca70976e\">zoster</span> infection in later age</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Environmental factors</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>More common in winter and early spring</li>\n<li>The virus can survive outside the body for 24-48 hours.</li>\n<li>Disinfectants easily kill the virus.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>More common in winter and early spring</li>\n<li>The virus can survive outside the body for 24-48 hours.</li>\n<li>Disinfectants easily kill the virus.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/WQS5Z8WLJwmVCtmrhnvJ1742763797.mp3", "video": ""}, {"text": "Which of the following is transmitted by droplet nuclei?", "options": [{"label": "A", "text": "Meningococcal meningitis", "correct": false}, {"label": "B", "text": "Chickenpox", "correct": true}, {"label": "C", "text": "Diphtheria", "correct": false}, {"label": "D", "text": "Herpes simplex virus", "correct": false}], "correct_answer": "B. Chickenpox", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:547px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Droplet </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Droplet <span class=\"customMeta\" data-dictid=\"e6b47028191692777193eb698e43b6\">nuclei</span> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Direct mode of transmission</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Indirect mode of transmission</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It can spread via contact with the oromucosal membrane, conjunctiva.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Enters the alveoli.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Heavier particles that are more than 5 microns in size</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lighter particles which are less than 5 microns in size</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They fall on the ground due to gravity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They remain suspended in the air, and it can disseminate along with air currents</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can travel less than 1 meter in distance</p>\n<p>(Up to 30-60 cm)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can travel more than 1 meter in distance</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples:</strong></p>\n<ul>\n<li>Common cold</li>\n<li>Diphtheria<strong> (Option C)</strong></li>\n<li>Whooping cough</li>\n<li>Tuberculosis</li>\n<li>COVID-19</li>\n<li>Meningococcal <span class=\"customMeta\" data-dictid=\"7d8f74eaae16927771928214d10c17\">meningitis</span> <strong>(Option A)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples:</strong></p>\n<ul>\n<li>Tuberculosis</li>\n<li>Influenza</li>\n<li>Chickenpox</li>\n<li>Measles</li>\n<li>Q fever</li>\n<li>COVID-19</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mqITOUAzQKE2UTfPgOsd1742762913.mp3", "video": ""}, {"text": "Which of the following statements about chicken pox vaccination is true?", "options": [{"label": "A", "text": "The chickenpox vaccine is typically administered intravenously.", "correct": false}, {"label": "B", "text": "Vaccination is recommended only for adults who have never had chicken pox.", "correct": false}, {"label": "C", "text": "Varicella vaccine effectively prevents chickenpox and its complications.", "correct": true}, {"label": "D", "text": "Vaccination against chickenpox is only necessary if there is a current outbreak in the community", "correct": false}], "correct_answer": "C. Varicella vaccine effectively prevents chickenpox and its complications.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:667px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Varicella <span class=\"customMeta\" data-dictid=\"03350c16f71692777202dbca70976e\">zoster</span> <span class=\"customMeta\" data-dictid=\"f8fab286571692777189bdfd087071\">immunoglobulin</span> (VZIG)</strong></p>\n\t\t\t \n\n\t\t\t<p>VZIG is given within 72 hours of exposure and is recommended for the prevention of <span class=\"customMeta\" data-dictid=\"d5b9e7187c16927771847488b5f135\">chickenpox</span> in exposed individuals like:</p>\n<ul>\n<li>HIV/AIDS or <span class=\"customMeta\" data-dictid=\"a3cc9f976916927771895692a1a8a0\">immunocompromised</span> persons</li>\n<li>Immunosuppressive therapy patients</li>\n<li>Congenital <span class=\"customMeta\" data-dictid=\"12a6f23332169277718402ca6703e2\">cellular</span> immunodeficiency</li>\n<li>Pregnant females</li>\n<li>Early neonates, <span class=\"customMeta\" data-dictid=\"84f13673191692777196762b18e036\">premature</span> infants or low birth weights: Given to them if their mother developed chicken <span class=\"customMeta\" data-dictid=\"645077dd411692777196d3605f6e69\">pox</span> (given within 5 days before delivery or 48 hours after)</li>\n</ul>\n<p>Dose: 12.5 units/kg with a maximum of 625 units, repeat the dose in 3 weeks if the high-risk patient remains exposed.</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:647px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Live vaccine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dose</strong> (Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0.5 ml <span class=\"customMeta\" data-dictid=\"d446e62c6c1692777199896fc1d4b9\">subcutaneous</span> route</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Schedule </strong><br/>\n\t\t\t(Options B and C)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Given in 2 doses, it is recommended for all.</p>\n<ul>\n<li>If given < 13 years, the duration between two dosages should be 1-3 months</li>\n<li>For >13 years, the duration between two doses is 4-6 weeks</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Combination</strong></p>\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Chickenpox vaccine can be given as MMRV– <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> <span class=\"customMeta\" data-dictid=\"f61c340e77169277719339e74267c4\">mumps</span> <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> varicella.</p>\n<ul>\n<li>MMRV– administered to 9 months to 12 years of age</li>\n<li>Two doses schedule with an interval of 4 weeks</li>\n<li>But it is preferred that 2nd dose be administered 6 weeks to 3 months after 1st dose or at 4-6 years of age.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Post Exposure</strong></p>\n<p><strong>Prophylaxis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>This can be done if there is known exposure to <span class=\"customMeta\" data-dictid=\"cf329b8cef169277720107b1efa15b\">varicella</span> virus, the vaccine should be given within 5 days of exposure.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pregnancy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vaccine is contraindicated</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/JA1ZnVLWCVlkXRpvkdJe1742763030.mp3", "video": ""}, {"text": "Which of the following factors was crucial to the successful global eradication of smallpox?", "options": [{"label": "A", "text": "The causative agent of smallpox, Variola virus, could only survive in humans.", "correct": true}, {"label": "B", "text": "Smallpox eradication was achieved using a single-dose oral vaccine.", "correct": false}, {"label": "C", "text": "The Variola virus had multiple animal reservoirs, which made it easier to track and eliminate.", "correct": false}, {"label": "D", "text": "Smallpox was eradicated because it could be easily diagnosed only with advanced laboratory tests.", "correct": false}], "correct_answer": "A. The causative agent of smallpox, Variola virus, could only survive in humans.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1ute1MANs2ZOb8MUvN5N1742763163.mp3", "video": ""}, {"text": "Which of the following is most important to emphasize in educating the public about preventing the spread of diphtheria?", "options": [{"label": "A", "text": "Diphtheria is primarily spread through contaminated fomites, so good hygiene is crucial.", "correct": false}, {"label": "B", "text": "Maintaining high vaccination coverage is essential to prevent the spread of diphtheria.", "correct": true}, {"label": "C", "text": "Individuals who recover from diphtheria are immune to becoming carriers.", "correct": false}, {"label": "D", "text": "Diphtheria infection primarily affects older adults with weakened immune systems.", "correct": false}], "correct_answer": "B. Maintaining high vaccination coverage is essential to prevent the spread of diphtheria.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:713px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Epidemiological Determinant</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Agent</strong><strong> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corynebacterium diphtheriae- a Gram-positive, non-motile <span class=\"customMeta\" data-dictid=\"ff3e9793d01692777182b598b4a090\">bacterium</span> that produces a potent exotoxin.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Source of Infection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cases (ranging from <span class=\"customMeta\" data-dictid=\"4e02cdf6641692777199b3cc3b7237\">subclinical</span> to frank cases)</li>\n<li>Carriers (temporary, chronic, nasal, throat) <span class=\"customMeta\" data-dictid=\"31c5d0e75f16927771938d8e2daa4c\">Nasal</span> carriers pose a higher transmission risk than throat carriers.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Period of Communicability</strong><strong> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Untreated: 14-28 days from disease onset</li>\n<li>Treated: Cases are non-infectious within 48 hours of treatment initiation.</li>\n<li>Carriers: Considered non-infectious after two consecutive negative nose and throat cultures taken 24 hours apart</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Host Factors</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Age: Primarily affects 1-5 years. (Option D)</li>\n<li>Sex: Both genders.</li>\n<li>Immunity: Infants born to immune mothers possess temporary <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> for the first few weeks or months.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mode of Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Droplet infection</li>\n<li>Direct contact with infected <span class=\"customMeta\" data-dictid=\"94f1c8df1f1692777185bd6a7c3fff\">cutaneous</span> lesions</li>\n<li>Contaminated fomites</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Other</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Case Fatality Rate (CFR): Up to 10% if left untreated</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dvGem5FBSAbY1sz1sVaf1742763671.mp3", "video": ""}, {"text": "A 5-year-old child presents with sore throat, low-grade fever, a grayish membrane on the tonsils, and swelling of the neck. Which statement about carriers of this infection is true, and how should they be managed?", "options": [{"label": "A", "text": "Carriers are asymptomatic and require no treatment.", "correct": false}, {"label": "B", "text": "Carriers should receive antibiotics to eliminate bacteria and prevent transmission.", "correct": true}, {"label": "C", "text": "Carriers can be identified by the greyish membrane on their tonsils.", "correct": false}, {"label": "D", "text": "Carriers are insignificant in disease spread and can be overlooked.", "correct": false}], "correct_answer": "B. Carriers should receive antibiotics to eliminate bacteria and prevent transmission.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:731px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Types of Carriers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Healthy carriers: Individuals who carry the bacteria without showing symptoms.</li>\n<li>Chronic carriers: Carriers harboring the bacteria for an extended period, potentially a year or more.</li>\n<li>Incubatory carriers: Carriers who are in the early stages of infection and can transmit the bacteria before symptoms appear.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Significance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Nasal carriers, who shed the bacteria more frequently, are considered more <span class=\"customMeta\" data-dictid=\"adc58f95b216927771853032f276b9\">contagious</span> than throat carriers.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Two consecutive negative cultures from both the nose and throat, taken 24 hours apart, are required to declare a case or carrier non-infectious.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Management of Carriers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Oral <span class=\"customMeta\" data-dictid=\"259b36252716927771879987e01054\">erythromycin</span> for 10 days. (Option A and B)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kpJJ0obyrliLfnq0YREc1742763548.mp3", "video": ""}, {"text": "A patient presents with suspected diphtheria and has a documented history of severe anaphylaxis to horse serum. What is the most appropriate management strategy for this patient?", "options": [{"label": "A", "text": "Administer a full dose of diphtheria antitoxin intravenously, as the benefits outweigh the risks.", "correct": false}, {"label": "B", "text": "Administer a reduced dose of diphtheria antitoxin intramuscularly with close monitoring.", "correct": false}, {"label": "C", "text": "Avoid diphtheria antitoxin and treat with high-dose penicillin or erythromycin for 5-6 days.", "correct": true}, {"label": "D", "text": "Perform skin sensitivity testing with a reduced concentration of diphtheria antitoxin before administration.", "correct": false}], "correct_answer": "C. Avoid diphtheria antitoxin and treat with high-dose penicillin or erythromycin for 5-6 days.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:715px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diphtheria Antitoxin</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Antisera</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Preparation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prepared in horse serum</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Given IM or IV; Skin sensitivity testing should always be performed before administration due to the risk of <span class=\"customMeta\" data-dictid=\"d6d717efa216927771819fee139235\">anaphylaxis</span> from the horse serum.</p>\n<p>(Option A and B)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dosage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20,000 to 100,000 IU or more, depending on the severity of the case.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Indications</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Treatment of diphtheria; <span class=\"customMeta\" data-dictid=\"bc36e9b9381692777196b5f9a2f79c\">Prophylaxis</span> in non-immunized close contacts.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dosage Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Mild cases: 20,000-40,000 IU</li>\n<li>Moderate cases: 40,000-80,000 IU</li>\n<li>Severe cases: 80,000-1,00,000 IU</li>\n<li>Anterior <span class=\"customMeta\" data-dictid=\"31c5d0e75f16927771938d8e2daa4c\">nasal</span> diphtheria: 10,000-20,000 units</li>\n<li>Tonsillar diphtheria: 15,000-25,000 units</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vuVFk9BidQvEQPOYWHKB1742763402.mp3", "video": ""}, {"text": "A child is diagnosed with diphtheria. The child's parent, who is unvaccinated and asymptomatic, is identified as a close contact. What is the MOST appropriate management for the parent?", "options": [{"label": "A", "text": "Administer a single booster dose of diphtheria toxoid.", "correct": false}, {"label": "B", "text": "Administer diphtheria antitoxin (DAT) and complete the diphtheria toxoid series.", "correct": true}, {"label": "C", "text": "Administer prophylactic penicillin or erythromycin only.", "correct": false}, {"label": "D", "text": "No action is needed since the parent is asymptomatic.", "correct": false}], "correct_answer": "B. Administer diphtheria antitoxin (DAT) and complete the diphtheria toxoid series.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:747px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diphtheria Contact</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Management</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>All Contacts</p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Assess for signs and symptoms of diphtheria.</li>\n<li>Obtain a sample for <span class=\"customMeta\" data-dictid=\"5c14de20c01692777185f63bede46f\">Corynebacterium</span> diphtheriae culture.</li>\n<li>Administer <span class=\"customMeta\" data-dictid=\"a87d6eeedb16927771967434e19075\">prophylactic</span> antibiotics: <span class=\"customMeta\" data-dictid=\"7f576b591a1692777195da1639d0fe\">Penicillin</span> or <span class=\"customMeta\" data-dictid=\"259b36252716927771879987e01054\">erythromycin</span> for 7-10 days, stopping if culture results are negative.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Unvaccinated close contact</p>\n<p><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Administer <span class=\"customMeta\" data-dictid=\"233cc736b01692777186a2a5ac98f1\">diphtheria</span> <span class=\"customMeta\" data-dictid=\"2ff0b3039f16927771818bb2a247b0\">antitoxin</span> (DAT) for immediate <span class=\"customMeta\" data-dictid=\"c72d29ec4116927771942153c0d252\">passive</span> immunity. Complete the <span class=\"customMeta\" data-dictid=\"233cc736b01692777186a2a5ac98f1\">diphtheria</span> <span class=\"customMeta\" data-dictid=\"b895bf74681692777200571d1bd203\">toxoid</span> series for long-term active immunity.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Unknown <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> status or received <3 doses</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Complete the <span class=\"customMeta\" data-dictid=\"233cc736b01692777186a2a5ac98f1\">diphtheria</span> <span class=\"customMeta\" data-dictid=\"b895bf74681692777200571d1bd203\">toxoid</span> series: This includes 3 primary and 2 <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> doses.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Received >3 doses, and the last dose was >5 years ago</p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Administer a single <span class=\"customMeta\" data-dictid=\"233cc736b01692777186a2a5ac98f1\">diphtheria</span> <span class=\"customMeta\" data-dictid=\"b895bf74681692777200571d1bd203\">toxoid</span> <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> dose</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Received >3 doses, and the last dose was <5 years ago</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The contact should receive the next dose of <span class=\"customMeta\" data-dictid=\"233cc736b01692777186a2a5ac98f1\">diphtheria</span> <span class=\"customMeta\" data-dictid=\"b895bf74681692777200571d1bd203\">toxoid</span> according to the recommended schedule without needing an additional dose due to the current exposure.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qE1e4w9REg9P6KPJ20Pt1742762339.mp3", "video": ""}, {"text": "A 25-year-old woman presents with a rash that started as small, itchy red bumps on her trunk and has now progressed to fluid-filled blisters over the past 2 days. She reports feeling generally unwell with a mild fever. What is the most common neurological complication associated with this disease?", "options": [{"label": "A", "text": "Meningitis", "correct": false}, {"label": "B", "text": "Encephalitis", "correct": true}, {"label": "C", "text": "Guillain-Barré syndrome", "correct": false}, {"label": "D", "text": "Peripheral neuropathy", "correct": false}], "correct_answer": "B. Encephalitis", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/aW8uvwS7gh6jatQOONX71733998234.png", "https://image.prepladder.com/content/gHArBbVEW3vFJwKymqxK1733998094.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:592px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pre-eruptive stage:</strong></p>\n<ul>\n<li>Sudden onset</li>\n<li>Fever, back pain, shivering, malaise</li>\n<li>Lasts 24 hours (2-3 days in adults)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Eruptive stage:</strong></p>\n<p>Characterized by rash</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Distribution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Symmetrical</li>\n<li>Occurs on trunk first, then peripheries (centripetal)</li>\n<li>Mucosal surface involved</li>\n<li>Palms and soles not involved</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rapid evolution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Rash evolves from <span class=\"customMeta\" data-dictid=\"dc2eebe088169277719115b8c50b0c\">macule</span> to <span class=\"customMeta\" data-dictid=\"b3008e4783169277719411dbdb635e\">papule</span> to <span class=\"customMeta\" data-dictid=\"43337a69ad169277720110a038f222\">vesicle</span> to <span class=\"customMeta\" data-dictid=\"2def5e60c9169277719811414b8b46\">scab</span> rapidly</li>\n<li>Vesicle has a \"dew drop on rose petal\" appearance</li>\n<li>Scab occurs 4-7 days after <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> appears</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pleomorphism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>All stages of <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> (papule, vesicle, scab) are present at once</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Fever</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Fever is not high but can <span class=\"customMeta\" data-dictid=\"1931730fd41692777199bf164f574c\">spike</span> with each fresh <span class=\"customMeta\" data-dictid=\"e8c6da34eb169277718752e1060128\">eruption</span> of rash</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:449px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:149px\">\n<p style=\"text-align:center\"><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:211px\">\n<p style=\"text-align:center\"><strong>Chickenpox rash</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:238px\">\n<p style=\"text-align:center\"><strong>Measles rash</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:149px\">\n<p style=\"text-align:center\"><strong>Type of rash</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:211px\">\n<p style=\"text-align:center\">Vesicular rash</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:238px\">\n<p style=\"text-align:center\">Maculopapular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:149px\">\n<p style=\"text-align:center\"><strong>Lesion</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:211px\">\n<p style=\"text-align:center\">Pleomorphic</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:238px\">\n<p style=\"text-align:center\">Monomorphic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:149px\">\n<p style=\"text-align:center\"><strong>Vesicles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:211px\">\n<p style=\"text-align:center\">Superficial vesicles</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:238px\">\n<p style=\"text-align:center\">No vesicles</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:149px\">\n<p style=\"text-align:center\"><strong>Rash distribution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:211px\">\n<p style=\"text-align:center\">Centripetal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:238px\">\n<p style=\"text-align:center\">Centrifugal</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:149px\">\n<p style=\"text-align:center\"><strong>Palms and Soles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:211px\">\n<p style=\"text-align:center\">Spared </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:238px\">\n<p style=\"text-align:center\">Not spared </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/V5CaE5dsjdFzDgRYRbdV1742762205.mp3", "video": ""}, {"text": "A pregnant woman is exposed to chickenpox, but her immune status is unknown. According to the guidelines, what is the recommended course of action?", "options": [{"label": "A", "text": "Immediate administration of the varicella vaccine to prevent maternal infection.", "correct": false}, {"label": "B", "text": "Test for maternal antibodies to determine immune status.", "correct": true}, {"label": "C", "text": "Administration of varicella-zoster immune globulin.", "correct": false}, {"label": "D", "text": "Prescription of antiviral medications such as acyclovir to prevent fetal transmission.", "correct": false}], "correct_answer": "B. Test for maternal antibodies to determine immune status.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/l0TDZytibAddAxHTlVDZ1733998537.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RYk4nH5tUNw3PsVIZdgM1742762103.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 20 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following factors is true regarding the spread of dengue infection?", "options": [{"label": "A", "text": "Aedes mosquito breeds natural dirty water bodies with a flight range of 100 meters.", "correct": false}, {"label": "B", "text": "Aedes survives best between humidity of 40-60% and temperature 19-25 0 C", "correct": false}, {"label": "C", "text": "A. aegypti, being a discordant feeder, results in clustering and generation of multiple dengue cases", "correct": true}, {"label": "D", "text": "Dengue cases among children report a more severe infection than the adult population", "correct": false}], "correct_answer": "C. A. aegypti, being a discordant feeder, results in clustering and generation of multiple dengue cases", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/WUpyTwzl4gauIrcnCNNh1734066868.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:696px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agent factors</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Infection with any one <span class=\"customMeta\" data-dictid=\"65731fcbaf1692777198547abcf08e\">serotype</span> (DENV-1, 2, 3, and 4) confers<strong> lifelong immunity</strong> to that virus <span class=\"customMeta\" data-dictid=\"65731fcbaf1692777198547abcf08e\">serotype</span> (No cross-immunity)</li>\n<li>Secondary infection with <span class=\"customMeta\" data-dictid=\"65731fcbaf1692777198547abcf08e\">serotype</span> 2 or multiple infections with different serotypes leads to severe <span class=\"customMeta\" data-dictid=\"6eec2212b91692777189b54f3d9066\">immunological</span> catastrophe. (DHF/DSS)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vector</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. <span class=\"customMeta\" data-dictid=\"af830d75df169277718070c46e6ab8\">Aedes</span> aegypti:</p>\n<ul>\n<li>Less aggressive</li>\n<li>Nervous feeder, <span class=\"customMeta\" data-dictid=\"98d754de081692777186fc8119cb0c\">discordant</span> feeder (needs >1 feed): clustering of <span class=\"customMeta\" data-dictid=\"75dc439beb16927771857bde5104df\">dengue</span> cases <strong>(</strong>Option C<strong>)</strong></li>\n<li>Striped body appearance</li>\n<li>Breed: <span class=\"customMeta\" data-dictid=\"00e90b2b491692777199a0547a1945\">Stagnant</span> artificial water collections like tires, pots, buckets, etc.<strong>(</strong>Option A<strong>)</strong></li>\n<li>Flight range: Short range-100 meters.</li>\n<li>Eggs: single and cigar-shaped</li>\n<li>Larvae: <strong>siphon tube</strong></li>\n</ul>\n<p>2. <span class=\"customMeta\" data-dictid=\"af830d75df169277718070c46e6ab8\">Aedes</span> albopictus:</p>\n<ul>\n<li>More aggressive</li>\n<li><strong>Concordant feeder</strong> (1 feed is enough)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Disease transmission</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Infective stage:</li>\n<li>Reservoir:\n\t\t\t\t<ol>\n<li>Man: day before symptom onset to 5th day</li>\n<li>Mosquito: remain <span class=\"customMeta\" data-dictid=\"802328b229169277719000601489eb\">infective</span> lifetime (transovarial transmission)</li>\n</ol>\n</li>\n<li>Transmission cycle: Man-mosquito-man</li>\n<li>Incubation period: 3 to 10 days</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Host Factors</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Children have a milder disease than adults.<strong>(</strong>Option D)</li>\n<li>High risk: infants, elderly, obese, pregnant, <span class=\"customMeta\" data-dictid=\"f6768ff15f1692777195a493cad3a9\">peptic</span> <span class=\"customMeta\" data-dictid=\"7b4370a0b01692777201a5bc0739c2\">ulcer</span> disease, <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> disease, <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> disease, <span class=\"customMeta\" data-dictid=\"d30ae941d516927771889351160b00\">hemolytic</span> diseases, NSAIDs.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Environmental Factors</p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Humidity - 60 to 80%</li>\n<li>Temperature - 16 to 30<sup>0</sup>C (Option B)</li>\n<li>Endophagic and endophilic</li>\n<li>2°C increase in temperature: shortens <span class=\"customMeta\" data-dictid=\"810de80cac1692777187a436b4315b\">extrinsic</span> <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period of infected mosquitoes</li>\n<li>Rural spread is associated with water supply development, improved transport, and water scarcity.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LhjdLJv9IPPXyCgAU04W1747162841.mp3", "video": ""}, {"text": "A 23-year-old woman presents with a 3-day history of high fever, severe headache, and joint pain. Physical examination reveals a maculopapular rash and a positive tourniquet test. Laboratory tests reveal leukopenia, thrombocytopenia, and mildly elevated liver enzymes. Based on the findings, which of the following is the most appropriate next step in diagnosing this condition?", "options": [{"label": "A", "text": "Rapid antigen detection test", "correct": true}, {"label": "B", "text": "Blood culture", "correct": false}, {"label": "C", "text": "PCR for parasites", "correct": false}, {"label": "D", "text": "IgM ELISA", "correct": false}], "correct_answer": "A. Rapid antigen detection test", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Uncategorized fever </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>No typical features</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Break bone fever</strong></p>\n<p><strong>(Classical <span class=\"customMeta\" data-dictid=\"75dc439beb16927771857bde5104df\">dengue</span> fever/ <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> infection)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Retro <span class=\"customMeta\" data-dictid=\"bfe6beb7131692777194500ac5f2d2\">orbital</span> pain</li>\n<li>Arthralgia</li>\n<li>Severe <span class=\"customMeta\" data-dictid=\"0868f47e42169277719358f65df7e6\">myalgia</span> and headache</li>\n<li>Bimodal presentation of fever:\n\t\t\t\t<ul>\n<li>39-40°C, peaks on days 1-2</li>\n<li>Resurges: day 5-6</li>\n<li>Recovery: day 7-10.</li>\n</ul>\n</li>\n<li>Rash: pin-point eruptions on the face, neck and chest followed by <span class=\"customMeta\" data-dictid=\"a4fdae630a16927771918eaa32d28b\">maculopapular</span> or <span class=\"customMeta\" data-dictid=\"6f41202d9116927771985c2d0a463d\">scarlatiniform</span> on 3rd or 4th day.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dengue hemorrhagic syndrome</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Dengue fever + hemorrhagic manifestations(bleeding from any orifice)</li>\n<li>Rash: Maculopapular/ Rubelliform</li>\n<li>Lab Diagnosis\n\t\t\t\t<ul>\n<li>20% increase in hematocrit</li>\n<li>Thrombocytopenia (<1 lac)</li>\n</ul>\n</li>\n<li>Clinical diagnosis\n\t\t\t\t<ul>\n<li><strong>Tourniquet test</strong>- >10 petechiae/ sq <span class=\"customMeta\" data-dictid=\"621a512874169277719019f84a2e46\">inch</span> area</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dengue shock syndrome</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Pulse pressure - <20 mmHg</li>\n<li>Mean <span class=\"customMeta\" data-dictid=\"cf69f5256416927771991c21f264ae\">systolic</span> pressure - <90mmHg: adults, <80 mmHg: children.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Alj0DdY5385vcJ427ZKp1747162977.mp3", "video": ""}, {"text": "All of the following are true about larval surveillance except?", "options": [{"label": "A", "text": "Larval indices, such as the Breteau index, House index, and Container index, measure the density of larvae in a given area.", "correct": true}, {"label": "B", "text": "A House index is defined as percentages of houses or premises infested with larvae or pupae.", "correct": false}, {"label": "C", "text": "The Breteau index is the most specific criteria to measure dengue endemicity.", "correct": false}, {"label": "D", "text": "Airports should be kept at least 400m away around areas with A.aegypti index &lt;1%", "correct": false}], "correct_answer": "A. Larval indices, such as the Breteau index, House index, and Container index, measure the density of larvae in a given area.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Larval Surveillance (density of <span class=\"customMeta\" data-dictid=\"c2907c9f0016927771914eedf733dd\">larvae</span> in the area)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sampling unit:</strong> Houses or premises searched for water-holding containers<strong>.</strong></p>\n\t\t\t \n\n\t\t\t<p><strong>House index</strong>: Number of houses positive for <span class=\"customMeta\" data-dictid=\"af830d75df169277718070c46e6ab8\">aedes</span> larvae/number of houses searched.<strong>(Option B)</strong></p>\n\t\t\t \n\n\t\t\t<p><strong>Container index:</strong> Number of containers positive/ number of containers checked.</p>\n\t\t\t \n\n\t\t\t<p><strong>Breteau index</strong>: The number of positive containers, and the number of houses checked.</p>\n<ul>\n<li><strong>Most</strong> <strong>sensitive</strong> to assess endemicity <strong>(Option C).</strong></li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Aedes Aegypti Index:</strong></p>\n<ul>\n<li>Percentage of houses and their premises showing actual <span class=\"customMeta\" data-dictid=\"275662f5c11692777183ab59ae573b\">breeding</span> of A. aegypti larvae.</li>\n<li>Should not be >1%</li>\n<li>Airports and seaports in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> areas should be kept at least 400m around their premises free from the <span class=\"customMeta\" data-dictid=\"275662f5c11692777183ab59ae573b\">breeding</span> of <span class=\"customMeta\" data-dictid=\"af830d75df169277718070c46e6ab8\">Aedes</span> aegypti.<strong> (Option D)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vector Control</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Integrated <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> management</p>\n<ul>\n<li>Anti adult measures</li>\n<li>Anti <span class=\"customMeta\" data-dictid=\"7a9967010c16927771914174ab4e92\">larval</span> measures</li>\n<li>Personal protection</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Dengvarix (CYD-TDV): age 9-45 years</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/o4i8oDsQd8sqWEJ4suzn1747163102.mp3", "video": ""}, {"text": "A 40-year-old male presents with a history of a dog bite he sustained 3 weeks ago and reports tingling at the site of the bite and difficulty swallowing. On examination, he appears anxious and is hypersensitive to stimuli. Which of the following is true regarding this condition?", "options": [{"label": "A", "text": "Natural infection is caused by a fixed subtype of bullet-shaped DNA virus", "correct": false}, {"label": "B", "text": "Aerosol mode transmission is not reported in India", "correct": true}, {"label": "C", "text": "Licks on abraded skin are not considered a route of transmission", "correct": false}, {"label": "D", "text": "The highest rabies fatality in India is reported in the Andaman and Nicobar Islands.", "correct": false}], "correct_answer": "B. Aerosol mode transmission is not reported in India", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/xQSx7sxjRdJS7fMVO81W1734065369.png", "https://image.prepladder.com/content/C1QpFnfcly6U4PuzZ7pF1733219662.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agent factor</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Zoonotic disease with a 100% fatality rate</li>\n<li>Lyssavirus type 1\n\t\t\t\t<ul>\n<li><strong>Bullet-shaped <span class=\"customMeta\" data-dictid=\"cc65bdc03f169277719726a675e8a7\">RNA</span> virus</strong> (Rhabdoviridae family).<strong> (</strong>Option<strong> A)</strong></li>\n</ul>\n</li>\n<li>Two Types of Viruses:\n\t\t\t\t<ul>\n<li>Street virus:\n\t\t\t\t\t<ul>\n<li>Cause natural infection (Rabies)</li>\n<li>Variable <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period (7 days-months)</li>\n</ul>\n</li>\n<li>Fixed virus:\n\t\t\t\t\t<ul>\n<li>Fixed <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period (5-7 days)</li>\n<li>For vaccine production.</li>\n<li><strong>It does not demonstrate Negri bodies.</strong></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Host factors</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Occupation\n\t\t\t\t<ul>\n<li>Dog handlers</li>\n<li>Forest workers</li>\n<li>Veterinarians.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Transmission</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Incubation period: 2-8 weeks</li>\n<li>Animal bite: Dog, Cat, Monkey, Bat or Wild animal (all need vaccination)</li>\n<li>Licks on abraded skin are considered as the route of transmission. <strong>(</strong>Option <strong>C)</strong></li>\n<li>Rodent bites don't require vaccination.</li>\n<li>In India:\n\t\t\t\t<ul>\n<li>Urban <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">Rabies</span> is very common.</li>\n<li>Rabies is not found around water-bounded areas (Lakshadweep and Andaman and Nicobar Islands) <strong>(</strong>Option <strong>D)</strong></li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BNy71mOXlsImAyN1jPRB1747163240.mp3", "video": ""}, {"text": "A 30-year-old male was scratched by a cat during a hiking trip. The patient reports mild pain with a healthy wound that appears clean. The cat ran away immediately. What is the most appropriate initial management strategy for this patient?", "options": [{"label": "A", "text": "Clean the wound, prescribe antibiotics and tetanus toxoid.", "correct": false}, {"label": "B", "text": "Clean the wound, followed by a full course of anti-rabies vaccination", "correct": true}, {"label": "C", "text": "Clean the wound followed by anti-rabies vaccination and rabies immunoglobulin", "correct": false}, {"label": "D", "text": "Clean the wound with soap and water, followed by surgical debridement", "correct": false}], "correct_answer": "B. Clean the wound, followed by a full course of anti-rabies vaccination", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:721px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Exposure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Management</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Class I</p>\n<p><strong>(OPTION A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Licks and touch on intact skin (skin integrity not broken)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Local wound management: soap, running water, <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> <span class=\"customMeta\" data-dictid=\"c24e790aa2169277720062b62227ae\">tincture</span> for 15-20 min.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Class II<br/>\n<strong>(OPTION B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Abrasion, <span class=\"customMeta\" data-dictid=\"ff7e91c542169277719182b4b8b68b\">laceration</span> (skin integrity broken)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Local wound management</li>\n<li>Immediate full course <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">Rabies</span> vaccination</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Class III<br/>\n<strong>(OPTION C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bleeding, licks on mucosa/ broken skin, deep tissue injury, all wild animal or bat bite</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Wound management (avoid suturing)</li>\n<li>Full course <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">Rabies</span> vaccination</li>\n<li>Rabies immunoglobulin</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:671px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>THAI Red Cross <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">Regimen</span> (Updated)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Intradermal (ID) regimen:</p>\n<ul>\n<li>Dose: 0.1ml, 8 doses (2 at every visit)</li>\n<li>4 visits scheduled on days: 0, 3, 7, 28</li>\n<li>Administered on two sites simultaneously (2-2-2-2)</li>\n<li>Day 0 is the first dose of vaccination</li>\n<li>The National <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">Rabies</span> Control Program prefers <span class=\"customMeta\" data-dictid=\"e2ea69815816927771895dddb4390f\">ID</span> over IM regimen.</li>\n</ul>\n\t\t\t \n\n\t\t\t<p>Intramuscular (IM) regimen:</p>\n<ul>\n<li>Administered as <span class=\"customMeta\" data-dictid=\"e2ea69815816927771895dddb4390f\">ID</span> on Days: 0, 3, 7, and 28; and IM on Day 14 (2-2-2-2)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Essen <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">Regimen</span> (IM regimen)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dose: 0.5ml (one complete <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">vial</span> used)</p>\n<ul>\n<li>5 visits scheduled on days: 0, 3, 7, 14, 28</li>\n<li>Administered on one side only (1-1-1-1-1)\n\t\t\t\t<ul>\n<li>For adults: deltoid</li>\n<li>For children: <span class=\"customMeta\" data-dictid=\"5a5df583551692777181550518132c\">anterolateral</span> aspect of the thigh.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Equine RIG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Human RIG</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Not preferred</li>\n<li>Dose: 40 IU/kg IM</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Preferred</li>\n<li>Dose: 20 IU/kg IM</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ArWCkZKJKxd63sYG4b9L1747162686.mp3", "video": ""}, {"text": "A 10-year-old boy was bitten on the forearm by a stray dog. The bite wound is superficial with mild bleeding. Based on the Indian rabies management guidelines, which of the following is not recommended for this patient?", "options": [{"label": "A", "text": "Intramuscular 0.1 ml vaccination on days 0, 3, 7 and 28 is preferred.", "correct": true}, {"label": "B", "text": "70% of rabies immunoglobulin should be administered around the wound.", "correct": false}, {"label": "C", "text": "Deltoid is the recommended site for this patient.", "correct": false}, {"label": "D", "text": "Intradermal regimen consists of two doses administered at each of four sessions.", "correct": false}], "correct_answer": "A. Intramuscular 0.1 ml vaccination on days 0, 3, 7 and 28 is preferred.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:192px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>THAI Red Cross <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">Regimen</span> (Updated)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Intradermal (ID) regimen: <strong>(Option A)</strong></p>\n<ul>\n<li>Dose: 0.1ml, 8 doses (2 at every visit)<strong> (Option D)</strong></li>\n<li>4 visits schedule on days: 0, 3, 7, 28</li>\n<li>Administered on two sites simultaneously (2-2-2-2)</li>\n<li>Day 0 is the first dose of <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> (not the first day of a dog bite)</li>\n<li>The National <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">Rabies</span> Control Program prefers <span class=\"customMeta\" data-dictid=\"e2ea69815816927771895dddb4390f\">ID</span> over IM regimen.</li>\n</ul>\n\t\t\t \n\n\t\t\t<p>Intramuscular (IM) regimen:</p>\n<ul>\n<li>Administered as <span class=\"customMeta\" data-dictid=\"e2ea69815816927771895dddb4390f\">ID</span> on Days: 0, 3, 7, and 28; and IM on Day 14 (2-2-2-0-2)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Essen <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">Regimen</span> (IM regimen)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dose: 0.5ml (one complete <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">vial</span> used)</p>\n<ul>\n<li>5 visits schedule on days: 0, 3, 7, 14, 28</li>\n<li>Administered on one side only (1-1-1-1-1)\n\t\t\t\t<ul>\n<li>For adults: <span class=\"customMeta\" data-dictid=\"70d60276a81692777185b5f6f71fa9\">deltoid</span> (not on the <span class=\"customMeta\" data-dictid=\"6df580322e1692777188d0c52e5f90\">gluteal</span> region)<strong>(Option C)</strong></li>\n<li>For children: <span class=\"customMeta\" data-dictid=\"5a5df583551692777181550518132c\">anterolateral</span> aspect of the thigh.</li>\n</ul>\n</li>\n<li>This <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">regimen</span> is not cost-effective.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Equine RIG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Human RIG</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Not preferred</li>\n<li>Dose: 20 IU/kg</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Preferred</li>\n<li>Dose: 40 IU/kg IM</li>\n<li>70% given around the wound/bite, and the rest given to distant areas<strong> (Option B)</strong></li>\n<li>Must be given on day 0 of <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> and can be given up to 7 days after the bite.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kRkzlWojTpgzXPCxiB7t1747162538.mp3", "video": ""}, {"text": "A 30-year-old male presents to the emergency department after being bitten by a neighbour's dog on his right hand. He reports that he was bitten by a different dog five months ago and received the complete rabies vaccination series at that time. The wound appears clean with no signs of infection. What is the appropriate management for this patient?", "options": [{"label": "A", "text": "Administer a full course of rabies vaccine again (4 doses).", "correct": false}, {"label": "B", "text": "Administer two doses of rabies vaccine on days 0 and 3.", "correct": true}, {"label": "C", "text": "No rabies vaccine is needed due to recent vaccination.", "correct": false}, {"label": "D", "text": "Administer rabies immunoglobulin (RIG) and a full course of rabies vaccine (4 doses).", "correct": false}], "correct_answer": "B. Administer two doses of rabies vaccine on days 0 and 3.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements about the rabies vaccine are correct? Rabies vaccine is absolutely contraindicated in pregnant women. Immunocompromised individuals may require a full vaccination series even if previously vaccinated. The rabies vaccine should be administered intramuscularly in the deltoid region for adults. Rabies immunoglobulin (RIG) is required for all re-exposures, regardless of previous vaccination status. When a bite is from a vaccinated pet dog, post-exposure prophylaxis is not required.", "options": [{"label": "A", "text": "Statements 1 and 4 are correct", "correct": false}, {"label": "B", "text": "Statements 2 and 5 are correct", "correct": false}, {"label": "C", "text": "Statements 3 and 5 are correct", "correct": false}, {"label": "D", "text": "Statements 2 and 3 are correct", "correct": true}], "correct_answer": "D. Statements 2 and 3 are correct", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/thQi4fOOeSJ7MJgMjJKm1747163454.mp3", "video": ""}, {"text": "All are true regarding rabies vaccine except?", "options": [{"label": "A", "text": "Can be given both pre-exposure and post-exposure.", "correct": false}, {"label": "B", "text": "Contains live attenuated virus.", "correct": true}, {"label": "C", "text": "Typically administered as a series of doses for complete protection.", "correct": false}, {"label": "D", "text": "Provide long term immunity after the initial series is completed.", "correct": false}], "correct_answer": "B. Contains live attenuated virus.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:632px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rabies Vaccine</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Human <span class=\"customMeta\" data-dictid=\"52d06e3e001692777186400050f388\">Diploid</span> Cell Vaccine (HDCV) from inactivated (killed) virus</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dosage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Intramuscular (IM): 0.5 mL</p>\n<p>Intradermal (ID): 0.1 mL</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Administration Site</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>IM:</p>\n<ul>\n<li>Deltoid muscle (upper arm) for adults and older children.</li>\n<li>Anterolateral thigh for infants and younger children.</li>\n</ul>\n\t\t\t \n\n\t\t\t<p>ID: (Shoulders) Over the deltoid.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Regimen</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Given both pre-exposure and post-exposure in multiple doses.</strong></p>\n<p><strong>Post-exposure:</strong></p>\n<ul>\n<li><strong>Essen (IM): </strong>Days 0, 3, 7, 14, and 28.</li>\n</ul>\n<p>In 5 visits, given on 1 site.</p>\n<ul>\n<li><strong>Thai Red Cross (ID):</strong> Days 0, 3, 7, and 28</li>\n</ul>\n<p>In 4 visits, the vaccine is given on 2 sites (Shoulders) simultaneously</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Duration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>After completing a full pre-exposure <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> series, <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> against <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">rabies</span> can last many years.</li>\n<li>May need re-exposure <span class=\"customMeta\" data-dictid=\"bc36e9b9381692777196b5f9a2f79c\">prophylaxis</span> after 3 months.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Side effects:</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Pain at the <span class=\"customMeta\" data-dictid=\"3509997646169277719014053aa74d\">injection</span> site, headache, dizziness, muscle aches, <span class=\"customMeta\" data-dictid=\"b3a647ce2516927771881427f56c1d\">gastrointestinal</span> symptoms.</li>\n<li>Severe (rare): Allergic reactions, neurological complications</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NhNwZdhNsbDCbgF9Mktv1747161971.mp3", "video": ""}, {"text": "In an urban area with many rabies cases, which measures are most appropriate to control the disease and transmission?", "options": [{"label": "A", "text": "Mass vaccination of domestic dogs and cats", "correct": true}, {"label": "B", "text": "Culling of stray dogs and cats", "correct": false}, {"label": "C", "text": "Quarantine of all suspected rabid animals", "correct": false}, {"label": "D", "text": "Public awareness campaigns about avoiding animal bites", "correct": false}], "correct_answer": "A. Mass vaccination of domestic dogs and cats", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kkcazvAcwTn5zZoni4kX1747161832.mp3", "video": ""}, {"text": "A 35-year-old man returns from a Chennai trip and presents with fever, chills, and sweating. His blood smear shows ring forms in red blood cells. What is the most likely vector for this infection?", "options": [{"label": "A", "text": "Anopheles culicifaciens", "correct": false}, {"label": "B", "text": "Anopheles stephensi", "correct": true}, {"label": "C", "text": "Anopheles fluviatilis", "correct": false}, {"label": "D", "text": "Anopheles minimus", "correct": false}], "correct_answer": "B. Anopheles stephensi", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:456px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Distribution</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Anopheles culicifaciens</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rural and Peri-urban areas</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Anopheles stephensi</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Urban and Industrial areas</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Anopheles fluvitilis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hilly areas (Foothills)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Anopheles minimus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Northeastern states</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/WvEpL6ok4rYpf1onK3c61747161693.mp3", "video": ""}, {"text": "All of the following are true regarding the epidemiology of malaria, except?", "options": [{"label": "A", "text": "Anopheles mosquitoes are primarily nocturnal feeders.", "correct": false}, {"label": "B", "text": "Incidence is highest in tropical and subtropical regions", "correct": false}, {"label": "C", "text": "Quartan malaria is caused by Plasmodium malariae; fever cycles every 48 hours.", "correct": true}, {"label": "D", "text": "Can also be transmitted through blood transfusions and organ transplants.", "correct": false}], "correct_answer": "C. Quartan malaria is caused by Plasmodium malariae; fever cycles every 48 hours.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:685px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Malaria</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Plasmodium species</strong></p>\n\t\t\t \n\n\t\t\t<table cellspacing=\"0\" style=\"border-collapse:collapse; width:406px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Species</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Fever Cycle</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.falciparum</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Malignant Tertian Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 48 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.vivax</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Benign Tertian Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 48 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.malariae</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Quartan Malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Every 72 hours</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.ovale</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ovale Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 48 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P. knowlesi</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Quotidian Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 24 hours (daily)</p>\n</td>\n</tr>\n</tbody>\n</table>\n\t\t\t \n\n\t\t\t<p>Incubation Period: 7-30 days, depending on Plasmodium species</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Female Anopheles mosquitoes</p>\n<ul>\n<li><strong>Behavior: Nocturnal feeders;(Option A) </strong>prefer to bite between dusk and dawn</li>\n<li>Breeding Sites: Stagnant water bodies such as ponds, marshes, swamps, and artificial containers</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Bites of infected female Anopheles mosquitoes</li>\n<li><strong>Can be transmitted through blood transfusions and organ transplants.(Option D)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Host</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Humans (Primary Host)</li>\n</ul>\n<p>Higher risk in pregnant women, infants, and immunocompromised</p>\n<ul>\n<li>Anopheles mosquitoes (Vector and Intermediate host)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Environmental Factors</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Climate: Warm and Humid environment</li>\n<li>Seasonality: Rainy seasons</li>\n<li>Geographical Distribution:</li>\n</ul>\n<ul>\n<li><strong>Most prevalent in tropical and subtropical regions(Option B)</strong></li>\n<li>India: Endemic in several states, particularly in the northeastern states (Assam, Tripura, Meghalaya), Eastern states (Odisha, Jharkhand), and some parts of Maharashtra and Karnataka</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:406px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Species</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Fever Cycle</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.falciparum</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Malignant Tertian Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 48 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.vivax</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Benign Tertian Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 48 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.malariae</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Quartan Malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Every 72 hours</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.ovale</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ovale Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 48 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P. knowlesi</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Quotidian Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every 24 hours (daily)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/fkPAIh8K9AIrqP1xc6Rd1747161543.mp3", "video": ""}, {"text": "In a town of 5000 people, approximately 400 people are positive for malaria in a year. What is the annual parasite incidence in this town?", "options": [{"label": "A", "text": "70", "correct": false}, {"label": "B", "text": "80", "correct": true}, {"label": "C", "text": "90", "correct": false}, {"label": "D", "text": "100", "correct": false}], "correct_answer": "B. 80", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/K15tKHCd1bs0oVJvMd9k1733999714.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/P3YXYo1X5IvBEgRnabG31747161425.mp3", "video": ""}, {"text": "The local governing body of a population, which consists of 7000 people, decides to prepare smears from 700 infants, among which 140 of them were positive for malaria. What is the infant parasite rate in this population?", "options": [{"label": "A", "text": "10%", "correct": false}, {"label": "B", "text": "15%", "correct": false}, {"label": "C", "text": "20%", "correct": true}, {"label": "D", "text": "25%", "correct": false}], "correct_answer": "C. 20%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hPqa8bjRSBkhSCCxQm1c1733999794.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wEbGYKvymj1rbsCkteZE1747161314.mp3", "video": ""}, {"text": "A district has a population of 7,50,000, among which 56,000 smears were prepared last year to detect malaria. What is this population's annual blood examination rate (ABER) for last year?", "options": [{"label": "A", "text": "7.5%", "correct": true}, {"label": "B", "text": "8.4%", "correct": false}, {"label": "C", "text": "8.8%", "correct": false}, {"label": "D", "text": "9.5%", "correct": false}], "correct_answer": "A. 7.5%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/uLL03KrQgDdsypgpk7291733999884.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mWGwv4ivzR5weZ0cW1db1747161166.mp3", "video": ""}, {"text": "In a town of 4000 people in the last month, malarial smears have been prepared for 600 people who suffered acute febrile illness episodes, among which 85 were found to be positive for vivax, 25 for ovale and 10 for falciparum malaria. What is the updated slide positivity rate in this population?", "options": [{"label": "A", "text": "10%", "correct": false}, {"label": "B", "text": "15%", "correct": false}, {"label": "C", "text": "20%", "correct": true}, {"label": "D", "text": "25%", "correct": false}], "correct_answer": "C. 20%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Fc7aVPrPoEUg5Dcn0whn1733999966.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6AAt3ZXaD81Ltc2RnZ6f1747161035.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 26 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A 40-year-old man presents with swelling and mild pain in his left leg for several years. Physical examination revealed bulky, stiff skin with inguinal lymphadenopathy in the left lower limb (image). What is the most likely diagnosis based on the clinical findings?", "options": [{"label": "A", "text": "Lepromatous leprosy", "correct": false}, {"label": "B", "text": "Elephantiasis", "correct": true}, {"label": "C", "text": "Cutaneous leishmaniasis", "correct": false}, {"label": "D", "text": "African trypanosomiasis", "correct": false}], "correct_answer": "B. Elephantiasis", "question_images": ["https://image.prepladder.com/content/BMhAmQrHv4hTwhTc2c2i1734000091.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wOTAMjCOEbdAA7qQ5vQM1742760332.mp3", "video": ""}, {"text": "A 42-year-old man presented to the hospital with swelling and thickening of both legs. A thick blood film revealed the following image. Which of the following statements is correct regarding the diagnosis of this condition?", "options": [{"label": "A", "text": "Mass blood surveys with thick blood films are prepared between 10 AM to 2 PM", "correct": false}, {"label": "B", "text": "Drug provocation test has the highest specificity", "correct": true}, {"label": "C", "text": "Serological tests can differentiate between past and present infections", "correct": false}, {"label": "D", "text": "Rapid detection test is used as an investigation of choice for this condition", "correct": false}], "correct_answer": "B. Drug provocation test has the highest specificity", "question_images": ["https://image.prepladder.com/content/1j9TuHyHV7sl8Y3Rnd1D1734000201.png"], "explanation_images": ["https://image.prepladder.com/content/BvDYFWn0KuroFRUudLdu1734000240.png", "https://image.prepladder.com/content/6M96YBQfTF721cxT2SVW1734000293.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Diagnosis of filariasis</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1.</p>\n</td>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Thick blood film</strong><br/>\n<strong>(Investigation of choice)</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Nocturnal microfilariae are seen in blood between 10 PM to 2 AM <strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lymphatic filariasis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Brugian/Malayan filariasis</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Large, smooth (graceful) curve with countable nuclei</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Ullah, Muhammad & Al Balushi, Ahmed & Aliyani, Nader & Kalarikkal, Biju & Miranda, Reeher & Mohamed, Sherif & Habsi, Ahmed & Saidi, Eman & Anver, Adil & Qassem, Nouraldeen.\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://www.researchgate.net/figure/Full-Size-Microfilaria-Wuchereria-Bancrofti-seen-on-thick-blood-smear-stained-with_fig1_340704206\" data-tags=\"\" height=\"284\" src=\"https://image.prepladder.com/content/BvDYFWn0KuroFRUudLdu1734000240.png\" width=\"284\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Small, kinked at an <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> angle with a long head and uncountable nuclei, 2 <span class=\"customMeta\" data-dictid=\"e6b47028191692777193eb698e43b6\">nuclei</span> in the tail tip</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"https://picryl.com/media/brugia-malayi-de356c\" data-tags=\"\" height=\"329\" src=\"https://image.prepladder.com/content/6M96YBQfTF721cxT2SVW1734000293.png\" width=\"263\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rapid <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">Detection</span> Test</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Also called the <strong>filarial strip test</strong></li>\n<li>Used for <strong>monitoring</strong>, mapping, and evaluation activities <strong>(Option D)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Membrane filter concentration method</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Most sensitive </strong>methods for detecting low-density microfilaraemia</li>\n<li>Require specialized equipment.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>DEC <span class=\"customMeta\" data-dictid=\"80806f031b1692777196a8db8c148e\">provocation</span> test:</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>A single oral dose of 100mg DEC followed by blood <span class=\"customMeta\" data-dictid=\"6777533153169277719804fcbbf2d1\">smear</span> after 1 hour</li>\n<li>Microfilariae can appear in the daytime.</li>\n<li><strong>Highest <span class=\"customMeta\" data-dictid=\"e70dd3ea9916927771988faba61d64\">specificity</span> </strong><strong>(Option B)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Serological tests</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cannot <span class=\"customMeta\" data-dictid=\"c9001edbf216927771860f3475b44c\">differentiate</span> between past and present infection <strong>(Option C)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mass blood survey</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Thick blood films for epidemiological Survey</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qTtjo2nhN0xOAvIaOk7t1742760774.mp3", "video": ""}, {"text": "A 42-year-old male presents with leg swelling and hydrocele on his left side. Blood tests reveal the presence of microfilariae of W. bancrofti. Which of the following statements regarding the management of the disease are false? Statements: Biannual mass drug administration with triple-drug therapy reduces transmission. Effective MDA coverage should be &gt;90% for 5-6 years. A total dose of 72 mg/kg diethylcarbamazine (DEC) is the drug of choice for treating active filariasis. Integrated vector management includes anti-larval and anti-adult measures for preventing filariasis. Ivermectin 150-200 mcg as a combination treatment is effective in killing microfilariae", "options": [{"label": "A", "text": "1 and 2", "correct": true}, {"label": "B", "text": "1, 2 and 5", "correct": false}, {"label": "C", "text": "2 and 3", "correct": false}, {"label": "D", "text": "1 and 4", "correct": false}], "correct_answer": "A. 1 and 2", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:645px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Management of Filariasis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Triple Drug therapy</strong></p>\n<ul>\n<li>Diethylcarbamazine (<strong>DEC</strong>): <strong>6 mg/kg/day for 12 days</strong> +</li>\n<li><strong>Albendazole</strong> <span class=\"customMeta\" data-dictid=\"6e9cbd73891692777198a373ec041f\">stat</span> (400 mg: > 2 years, 200mg: < 2 years ) +</li>\n<li><strong>Ivermectin (150-200 mcg)</strong></li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Acute dermato-lymphangio <span class=\"customMeta\" data-dictid=\"f6d1c551791692777180b57ec23b7b\">adenitis</span> (ADLA): </strong></p>\n<ul>\n<li>Analgesics: Paracetamol</li>\n<li>Antibiotics: <strong>no <span class=\"customMeta\" data-dictid=\"4665fdd0a0169277718100f58eb0d5\">anti</span> filarial</strong> drug\n\t\t\t\t<ul>\n<li>Uncomplicated: Amoxicillin, erythromycin</li>\n<li>Severe: IV Penicillin</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevention</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Annual Mass Drug Administration (MDA):</strong>\n<ul>\n<li><strong>Yearly triple drug therapy</strong> with DEC, <span class=\"customMeta\" data-dictid=\"262fd93a6e16927771811a1da8a767\">albendazole</span> and ivermectin</li>\n<li>Coverage: <strong>>65% for 5-6 years</strong></li>\n<li>Lymphatic <span class=\"customMeta\" data-dictid=\"bcab368ebc169277720239f1f3dfb9\">filariasis</span> <span class=\"customMeta\" data-dictid=\"86c65ffa40169277718763f4072c2f\">elimination</span> strategy: microfilariae rate <1%</li>\n<li>Conduct a <span class=\"customMeta\" data-dictid=\"af58e514a61692777202149d26f8a1\">filarial</span> survey in all age groups before starting MDA and a TAS (transmission assessment survey) among the 6-7 years age group after MDA</li>\n<li>Stop MDA if TAS < 2% followed by post-MDA surveillance with 2 more rounds of TAS</li>\n</ul>\n</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li><strong>DEC Medication Salts:</strong>\n<ul>\n<li>1- 4 <span class=\"customMeta\" data-dictid=\"22a44ba23b1692777188a55fd436db\">gms</span> of DEC is added per 1kg of salt in Maharashtra and Lakshadweep Islands</li>\n</ul>\n</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li><strong>Vector Control (Integrated <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> management):</strong>\n<ul>\n<li><strong>Anti Larval:</strong> Larvicidal oil (pyrosene oil, fenthion, temephos)</li>\n<li><strong>Anti-adult:</strong> <span class=\"customMeta\" data-dictid=\"a902f8bd2b1692777185a9ae57dcf0\">DDT</span> (6 monthly), lindane, <span class=\"customMeta\" data-dictid=\"c192c6867216927771911a8bee7009\">malathion</span> (quarterly)</li>\n</ul>\n</li>\n<li>Aquatic plant removal: Water hyacinths, Pistia plants</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Monitoring</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Microfilaria rate:</strong>\n<ul>\n<li>Most sensitive indicator</li>\n<li>Persons with <span class=\"customMeta\" data-dictid=\"1e300ef0e21692777192fbb44da080\">microfilaria</span> /20 mm3 of blood / total population × 100</li>\n<li>Indicates <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of <strong>infection</strong>.</li>\n</ul>\n</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li><strong>Filarial endemicity rate:</strong>\n<ul>\n<li>Persons with <span class=\"customMeta\" data-dictid=\"1e300ef0e21692777192fbb44da080\">microfilaria</span> + <span class=\"customMeta\" data-dictid=\"dd729c897216927771845c2b95f211\">clinical diagnosis</span> / Total population × 100</li>\n<li>Indicates <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of <strong>disease.</strong></li>\n</ul>\n</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>Microfilaria density:\n\t\t\t\t<ul>\n<li>Percentage of <span class=\"customMeta\" data-dictid=\"1e300ef0e21692777192fbb44da080\">microfilaria</span> per unit volume of blood</li>\n<li>Indicates <strong>intensity</strong> of infection (endemicity potential).</li>\n</ul>\n</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>Average <span class=\"customMeta\" data-dictid=\"97f6c38301169277719097d4d23cff\">infestation</span> rate:\n\t\t\t\t<ul>\n<li>Average <span class=\"customMeta\" data-dictid=\"1e300ef0e21692777192fbb44da080\">microfilaria</span> per positive slide</li>\n<li>Microfilaria <strong>prevalence</strong> in the area</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MHhmNAAMlm3fVluVQqYh1742761251.mp3", "video": ""}, {"text": "A 30-year-old male farmer presents with worsening fever and weight loss for the last 2 months. Physical examination demonstrated significant hepatosplenomegaly. Laboratory tests show pancytopenia and a positive rk39 test. Which of the following is the treatment of choice for this condition?", "options": [{"label": "A", "text": "Liposomal amphotericin B", "correct": true}, {"label": "B", "text": "Pentamidine", "correct": false}, {"label": "C", "text": "Miltefosine", "correct": false}, {"label": "D", "text": "Paromomycin", "correct": false}], "correct_answer": "A. Liposomal amphotericin B", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:659px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Kala-azar/ Black sickness/Dum-dum fever/Sandfly disease/ Visceral Leishmaniasis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Organism</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Protozoan</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Epidemiology</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Endemic in Uttar Pradesh, Bihar, Jharkhand, West Bengal</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Types</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Visceral (Kala-Azar)</strong>: L. donovani</li>\n<li><strong>Cutaneous</strong>: L. tropica (oriental sore/ delhi boil/ Aleppo button)</li>\n<li><strong>Mucocutaneous</strong>: L. braziliensis (espundia)</li>\n<li>Post-kala-azar dermal (<strong>PKLD</strong>): Immune response</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reservoir</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Humans (non-zoonotic)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vector</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Sandfly (Phlebotomus argentipes): has <span class=\"customMeta\" data-dictid=\"a4789768d21692777188e77f1969cd\">hairy</span> wings.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Environmental</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Peak outbreak: November to April</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mechanism of transmission</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Bite of sandfly</li>\n<li>Blood <span class=\"customMeta\" data-dictid=\"cbb73554631692777200444a9ea263\">transfusion</span> (rare)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Incubation period</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>10 days to 2 years. (1-4 months average)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Visceral: Fever, Weight loss, Hepatosplenomegaly, Anemia.</li>\n<li>Cutaneous: Painful skin ulcers</li>\n<li>Mucocutaneous: Rapid mucosal destruction of nose and oropharynx</li>\n<li>PKDL: Skin nodules filled with micro-organisms</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Diagnosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Rapid <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> kits: <strong>rk39-dipstick test</strong>.\n\t\t\t\t<ul>\n<li>Used for field surveys.</li>\n</ul>\n</li>\n<li><strong>Biopsy (Gold standard)</strong>: <span class=\"customMeta\" data-dictid=\"5dc59b3af1169277719191cbbe6447\">Leishmania</span> Donovan bodies</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sandfly control measures</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>DDT: 1-2gm/m<sup>2</sup>.</li>\n<li>BHC (benzene hexachloride)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>DOC: Single dose Liposomal amphotericin-B (LAMB)10 mg/kg</strong></li>\n<li>Alternatives:\n\t\t\t\t<ul>\n<li>Miltefosine + Paramomycin <strong>(Options B and D)</strong></li>\n<li>Pentamidine <strong>(Option C)</strong></li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ov9ZEbtLEA9YvocK2Blu1742761845.mp3", "video": ""}, {"text": "A 45-year-old male who works in flooded rice fields presents with a 5-day history of high fever, headache, and yellowing of the eyes. Physical examination demonstrated conjunctival redness and calf tenderness. Laboratory tests reveal elevated liver enzymes. Which of the following is the most likely diagnosis?", "options": [{"label": "A", "text": "Dengue hemorrhagic fever", "correct": false}, {"label": "B", "text": "Malaria", "correct": false}, {"label": "C", "text": "Leptospirosis", "correct": true}, {"label": "D", "text": "Hepatitis A", "correct": false}], "correct_answer": "C. Leptospirosis", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/kx6mZYudNqSjmfjmQp4N1734000493.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:687px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Leptospirosis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Leptospira interrogans (zoonotic bacteria)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reservoir</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Rodents</strong> (Ratus norvegicus, <span class=\"customMeta\" data-dictid=\"18fd5724dc169277719319473a650b\">Mus</span> musculus) and domestic animals</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Source</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Direct contact or <span class=\"customMeta\" data-dictid=\"22b9188ade169277718581ce9dc589\">contamination</span> with <strong>excreta, <span class=\"customMeta\" data-dictid=\"0096f2a7631692777201eb9f21d5a7\">urine</span> of infected animals.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>At risk individuals</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Males 20-45 years (most common)</li>\n<li>Urine-contaminated mud(Soil) or water\n\t\t\t\t<ul>\n<li>Sports: rafting, fishing and swimming</li>\n<li>Rice field workers, sewer workers, animal handlers</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mode of transmission</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Direct contact: <span class=\"customMeta\" data-dictid=\"0096f2a7631692777201eb9f21d5a7\">Urine</span> through skin abrasion</li>\n<li>Indirect contact: Contact of broken skin with soil, water, vegetation</li>\n<li>Droplet infection: <span class=\"customMeta\" data-dictid=\"0b1500fcd816927771900b59d16bde\">Inhalation</span> while <span class=\"customMeta\" data-dictid=\"5930026faa1692777192fce0743bff\">milking</span> cows.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Incubation</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>4-20 days</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Diagnosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Clinical features</li>\n<li><strong>Darkfield examination: </strong>Thin and <span class=\"customMeta\" data-dictid=\"27cf09e9d316927771928763e99e0d\">motile</span> <strong>spirochete</strong>.</li>\n<li>IgM <strong>ELISA</strong>: High sensitivity</li>\n<li>Labs: Elevated liver enzymes, increased <strong>bilirubin</strong>, <strong>thrombocytopenia</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tqne8mEJiXkKmHITq90V1742761959.mp3", "video": ""}, {"text": "Which of the following antibiotics is not recommended for the treatment of leptospirosis?", "options": [{"label": "A", "text": "Doxycycline", "correct": false}, {"label": "B", "text": "Penicillin", "correct": false}, {"label": "C", "text": "Amoxicillin", "correct": false}, {"label": "D", "text": "Ciprofloxacin", "correct": true}], "correct_answer": "D. Ciprofloxacin", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>DOC: <strong>Penicillin</strong> 6 million units daily. <strong>(OPTION B)</strong></li>\n<li>Alternate drugs:\n\t\t\t\t<ul>\n<li><strong>Doxycycline</strong> <strong>(OPTION A)</strong></li>\n<li><strong>Amoxicillin (OPTION C)</strong></li>\n<li>Ampicillin</li>\n<li>Ceftriaxone</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevention</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Avoid contaminated water and use protective clothing</li>\n<li>Livestock vaccination, proper waste disposal</li>\n<li>Rodent control measures: <span class=\"customMeta\" data-dictid=\"39ecb6e07416927772029550b7e74a\">Zinc</span> phosphide</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HRCimfBRiut0DOoD838E1742761642.mp3", "video": ""}, {"text": "Which of the following statements about the epidemiological features of Japanese Encephalitis is incorrect?", "options": [{"label": "A", "text": "The virus belongs to the Flaviviridae family", "correct": false}, {"label": "B", "text": "Humans are the primary reservoir hosts for the Japanese Encephalitis irus", "correct": true}, {"label": "C", "text": "Primary vectors for Japanese Encephalitis are Culex mosquitoes.", "correct": false}, {"label": "D", "text": "Horses can show clinical manifestations", "correct": false}], "correct_answer": "B. Humans are the primary reservoir hosts for the Japanese Encephalitis irus", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/AEpIfRXjQpzOyIS8rq4U1734000596.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:612px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Epidemiological features of Japanese encephalitis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Japanese <span class=\"customMeta\" data-dictid=\"9644652a1f16927771873765457fcc\">Encephalitis</span> Virus (JEV), Group B Arbovirus</p>\n<p><strong>Virus Family: <span class=\"customMeta\" data-dictid=\"c613d1dbc31692777202788101204e\">Flaviviridae</span> (Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transmission Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Culex mosquitoes (Culex tritaeniorhynchus and <span class=\"customMeta\" data-dictid=\"8821feceff1692777185b2fc88c7dd\">Culex</span> vishnui)</strong><br/>\n<strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hosts</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pigs (Amplifier Host)</strong></p>\n<p>Ardeid Birds:<strong> Pond herons, Ducks, Poultry (Maintenance Host)</strong></p>\n<p>Man:<strong> (Accidental or dead-end host)</strong></p>\n<ul>\n<li>Do not develop high enough <span class=\"customMeta\" data-dictid=\"449328a76c1692777202f8f9fd20b8\">viremia</span> to <span class=\"customMeta\" data-dictid=\"eb32e458601692777190ed974ab329\">infect</span> mosquitoes.</li>\n<li>Primarily children (below 15 years), but all ages susceptible</li>\n<li>No man-to-man transmission.</li>\n</ul>\n<p>Horses:<strong> Only animals that can manifest symptoms (Option D).</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Environmental Factors</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Geographic Distribution:</p>\n<ul>\n<li>Southeast Asia, East Asia, and the Western Pacific regions.</li>\n<li>India\n\t\t\t\t<ul>\n<li>Endemic: To 21 states but mainly includes Jharkhand, Bihar, West Bengal, Uttar Pradesh, Assam and Haryana</li>\n</ul>\n</li>\n<li>Seasonal Distribution:\n\t\t\t\t<ul>\n<li>Monsoon and post-monsoon period (varies by region)</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Z5tNkFhFPd35ssPv068I1742761728.mp3", "video": ""}, {"text": "A 10-year-old boy from rural Uttar Pradesh presents with high fever, severe headache, vomiting, altered mental status, neck stiffness, and positive Brudzinski's sign. He is unvaccinated and lives near rice fields and pig farms during the monsoon season. What is the most likely diagnosis and the investigation of choice for confirmation?", "options": [{"label": "A", "text": "Bacterial meningitis; Blood culture", "correct": false}, {"label": "B", "text": "Herpes Simplex Encephalitis; PCR", "correct": false}, {"label": "C", "text": "Japanese Encephalitis; IgM ELISA", "correct": true}, {"label": "D", "text": "Dengue fever; NS1 antigen test", "correct": false}], "correct_answer": "C. Japanese Encephalitis; IgM ELISA", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:612px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Japanese encephalitis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation Period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5-15 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Symptoms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mild: fever and headache</p>\n<p><strong>Severe: high fever, headache, neck stiffness, seizures, coma</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Case Fatality Rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20-30% in severe cases</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Long-term Sequelae</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Neurological and psychiatric sequelae in 30-50% of survivors</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Serological tests (IgM ELISA), PCR</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8uj9rJvWOxB0mkXrRLzE1742761541.mp3", "video": ""}, {"text": "All of the following are true about the Live-attenuated JE vaccine except?", "options": [{"label": "A", "text": "Included in the national immunisation schedule.", "correct": false}, {"label": "B", "text": "Administered via the subcutaneous route.", "correct": false}, {"label": "C", "text": "Vaccination schedules include a primary series followed by a booster dose.", "correct": false}, {"label": "D", "text": "It can be administered to children as young as 6 months old.", "correct": true}], "correct_answer": "D. It can be administered to children as young as 6 months old.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Japanese <span class=\"customMeta\" data-dictid=\"9644652a1f16927771873765457fcc\">encephalitis</span> vaccines</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Types</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Inactivated vaccine (Nakayama)</li>\n<li><strong>Live attenuated vaccine (SA-14-14-2), the mostly preferred</strong></li>\n</ol>\n<ul>\n<li>Diluent: <span class=\"customMeta\" data-dictid=\"189b6fc834169277719580eb39bb4c\">Phosphate</span> <span class=\"customMeta\" data-dictid=\"9d374d494a169277718337f2820f3a\">buffer</span> since the JƐ vaccine is in powdered form.</li>\n<li><strong>The vaccine used to be included in the National <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">Immunization</span> Schedule(NIS) <span class=\"customMeta\" data-dictid=\"e4865847fa169277720044d7b530b0\">targeting</span> high-risk regions.</strong></li>\n</ul>\n<p> 3. The killed vaccine in India is JENVAC - Kolar strain which is given IM injection. </p>\n<ul>\n<li>It has been added to the National <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">Immunization</span> Schedule (NIS).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dosage </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Administered 2 Doses </strong></p>\n<ul>\n<li><strong>1st: 9 months</strong></li>\n<li><strong>2nd: 6 to 24 months</strong></li>\n</ul>\n<p>Min Gap between 2 doses → 3 months, 0.5 ml (left arm)</p>\n<p><strong>Route: Subcutaneous</strong></p>\n<ul>\n<li>In case of non-immunized children :</li>\n</ul>\n<p>Can be given to children < 15 years of age</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/T1egPtdMFO3lZNQpH7TT1742760202.mp3", "video": ""}, {"text": "A 30-year-old non-immunized traveler returns from a trip to a tropical region and presents with a high fever, chills, severe headache, muscle pain, nausea, vomiting, and jaundice. Which of the following parameters is unsuitable for transmitting the suspected disease?", "options": [{"label": "A", "text": "Humidity in environment &gt;60%", "correct": false}, {"label": "B", "text": "Temperature of climate ranging 18-24°C", "correct": true}, {"label": "C", "text": "Aedes mosquito in the area", "correct": false}, {"label": "D", "text": "Presence of monkeys in the area", "correct": false}], "correct_answer": "B. Temperature of climate ranging 18-24°C", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow fever</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Agent and Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Flavivirus transmitted primarily by mosquitoes\n\t\t\t\t<ul>\n<li><strong>Aedes <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">Mosquito</span> (in urban settings)</strong></li>\n<li>Haemagogus (in jungle or forested areas)</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hosts</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Primarily monkeys (Reservoir hosts)</li>\n<li>Humans are (Incidental hosts) and can develop severe disease.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Environmental Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Found in tropical and subtropical areas of Africa and South America, where <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> vectors are prevalent.</li>\n<li>Transmission occurs primarily in forested or jungle areas.</li>\n<li>Typical Conditions:</li>\n<li>Temperature: 24-36’C</li>\n<li>Humidity: >60%</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Clinical Presentation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Initial symptoms (acute phase, 3-6 days post-infection): fever, chills, headache, backache, muscle aches, loss of appetite.</li>\n<li>Severe cases (toxic phase): jaundice, bleeding, organ <span class=\"customMeta\" data-dictid=\"3662597407169277718640a12868f5\">dysfunction</span> (liver, kidney).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Based on clinical signs</li>\n<li><strong>Travel history to <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> areas</strong></li>\n<li>Confirmed by <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> of YFV <span class=\"customMeta\" data-dictid=\"cc65bdc03f169277719726a675e8a7\">RNA</span> or specific antibodies (IgM and IgG) in blood samples.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/GSfZhjrCpbspSyLoxP0q1742761417.mp3", "video": ""}, {"text": "Which of the following statements about the yellow fever vaccine are correct? Intradermal administration The recommended age for administration is 7 months or older. A booster dose is required every 10 years for continued immunity. The vaccine contains a live-attenuated virus. A yellow card is issued for travel.", "options": [{"label": "A", "text": "1 and 3", "correct": false}, {"label": "B", "text": "2 and 4", "correct": false}, {"label": "C", "text": "1 and 5", "correct": false}, {"label": "D", "text": "4 and 5", "correct": true}], "correct_answer": "D. 4 and 5", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:676px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow fever vaccine</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Types</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Live-attenuated vaccine (17D strain)</strong></li>\n<li>Diluent: lyophilized (freeze-dried) powder with <span class=\"customMeta\" data-dictid=\"894da1dfe6169277719871d7210619\">saline</span> solution.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Route: <span class=\"customMeta\" data-dictid=\"d446e62c6c1692777199896fc1d4b9\">Subcutaneous</span> </strong></li>\n<li>Dose: A single dose, 0.5 mL</li>\n<li>Site: <span class=\"customMeta\" data-dictid=\"70d60276a81692777185b5f6f71fa9\">Deltoid</span> muscle</li>\n<li>Age for Administration:<strong> </strong>Recommended for<strong> individuals completed 9 months.</strong></li>\n<li>6 months (outbreak situations)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Efficacy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Onset of Immunity: Within 30 days</li>\n<li>Duration of Immunity:<strong> </strong>A<strong> single dose </strong>provides<strong> lifelong immunity.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Indications</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Individuals traveling to <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> areas, including parts of Africa and South America.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contraindications</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Allergies to any component of the vaccine, especially egg proteins.</li>\n<li>Immunocompromised</li>\n<li>Infants under 6 months</li>\n<li>Pregnancy: Generally avoided unless the risk is high.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Additional</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Proof of <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> (Yellow card) is required for entry into certain countries.</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0YYNoE46hn7pwyJDqDf41742759844.mp3", "video": ""}, {"text": "Which of the following are the intermediate hosts of dracunculiasis?", "options": [{"label": "A", "text": "Sandflies", "correct": false}, {"label": "B", "text": "Hard ticks", "correct": false}, {"label": "C", "text": "Soft ticks", "correct": false}, {"label": "D", "text": "Cyclops", "correct": true}], "correct_answer": "D. Cyclops", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/og764SYFOqF5UrAwPjAW1734000742.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Synonym</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Water flea</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Habitat</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Freshwater</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Morphology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Not more than 1 mm in length</li>\n<li>Pear-shaped semi-transparent body</li>\n<li>Forked tail</li>\n<li>2 pairs of antennae</li>\n</ul>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"OPEN ACCESS\" data-source=\"https://en.wikipedia.org/wiki/Cyclops_(copepod)#/media/File:Cyclops.jpg\" data-tags=\"\" height=\"307\" src=\"https://image.prepladder.com/content/og764SYFOqF5UrAwPjAW1734000742.png\" width=\"379\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Health Importance </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Intermediate host of <span class=\"customMeta\" data-dictid=\"1efd1108501692777186a6f77aa87f\">dracunculiasis</span> [guinea-worm disease]</li>\n<li>Transmit fish tapeworms [Diphyllobothrium latum]</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Control measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Straining and boiling water</li>\n<li>Chemicals like chlorine, lime, and abate</li>\n<li>Using barbel-gambusia fishes</li>\n<li>Avoiding step wells</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vn57bNQEasT2vjcXbD8G1742759535.mp3", "video": ""}, {"text": "A 35-year-old farmer from a tropical region presented with chronic fatigue and pallor. There is a history of barefoot farming practices and frequent contact with soil contaminated by human feces. Laboratory tests revealed severe iron deficiency anemia. What number of eggs per gram of stool of this farmer makes this disease a major public health problem?", "options": [{"label": "A", "text": "&gt;100", "correct": false}, {"label": "B", "text": "&gt;150", "correct": false}, {"label": "C", "text": "&gt;250", "correct": false}, {"label": "D", "text": "&gt;300", "correct": true}], "correct_answer": "D. >300", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Average no. of eggs/g of stools</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Significance</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><200</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Not of much importance</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>200-250</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Indicates potential danger</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>250-300</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Indicates minor <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> problem</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>>300</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Major <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> problem</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/GxO6mVlsLzuNPLQS3hVf1742759673.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 23 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Match the following terms with their correct definitions: 1. Subclinical case a. The first case of a disease identified in a group or population 2. Primary case b. A person who contracts the disease directly from the primary case. 3. Secondary case c. A person who exhibits mild or no symptoms but is still infected 4. Index case d. The first case that comes to the attention of health authorities", "options": [{"label": "A", "text": "1-b, 2-d, 3-c, 4-a", "correct": false}, {"label": "B", "text": "1-b, 2-a, 3-c, 4-d", "correct": false}, {"label": "C", "text": "1-c, 2-a, 3-b, 4-d", "correct": true}, {"label": "D", "text": "1-d, 2-b, 3-a, 4-c", "correct": false}], "correct_answer": "C. 1-c, 2-a, 3-b, 4-d", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tuyhW3O3cu0YeGTzQkI91743364042.mp3", "video": ""}, {"text": "A 6-year-old child visits the pediatric clinic with a high fever, cough, runny nose, and conjunctivitis. Three days later, the child develops a distinctive maculopapular rash that begins on the face and spreads to the rest of the body. The oral pharyngeal examination is shown below. During what period is this child most likely contagious and should be isolated to prevent transmission to others?", "options": [{"label": "A", "text": "1-2 days before to 4-5 days after the appearance of rash", "correct": false}, {"label": "B", "text": "4-6 days before symptoms to 7 days thereafter", "correct": false}, {"label": "C", "text": "From 4 days before to 4 days after rash onset.", "correct": true}, {"label": "D", "text": "7 days before symptoms to 7 days after the appearance of the r", "correct": false}], "correct_answer": "C. From 4 days before to 4 days after rash onset.", "question_images": ["https://image.prepladder.com/content/su3WHsicDg5EykDZXZvk1733995079.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:555px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Period of communicability</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4 days before to 4 days after the <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> appearance (Option C)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chickenpox</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1-2 days before to 4-5 days after the appearance of <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> (Option A)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mumps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-6 days before symptoms to 7 days thereafter (Option B)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rubella</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7 days before symptoms to 7 days after the appearance of the <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> (Option D)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/k3hF3SmjQKKjj0NpHqK51743364461.mp3", "video": ""}, {"text": "A 5-year-old child presents to the community health centre with a fever, malaise, and an itchy, vesicular rash (shown in the image below) that began two days ago. The child's mother asks when it will be safe for her child to return to school without posing a risk of spreading the infection to other children. What is the appropriate advice regarding the duration of isolation for this child to prevent the spread of this infection?", "options": [{"label": "A", "text": "7 days after rash onset", "correct": false}, {"label": "B", "text": "48 hours after starting antibiotics", "correct": false}, {"label": "C", "text": "Until 3 negative stool cultures", "correct": false}, {"label": "D", "text": "Until all lesions are crusted", "correct": true}], "correct_answer": "D. Until all lesions are crusted", "question_images": ["https://image.prepladder.com/content/mNcysXK4MfSTxJTJwjwp1733995583.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:562px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Duration of isolation</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chickenpox</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Until all lesions are crusted, usually 6 days after the onset of the rash. <strong>(Option D)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7 days after the onset of <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> <strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diphtheria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Until 48 <span class=\"customMeta\" data-dictid=\"136c4bdd441692777189c5b2e976a0\">hrs</span> of antibiotics or negative cultures after treatment <strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Salmonellosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Until 3 negative <span class=\"customMeta\" data-dictid=\"44335bb8bf1692777199a956cb31bf\">stool</span> cultures<strong> (Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pertussis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4 weeks or until paroxysms cease</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mumps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Until <span class=\"customMeta\" data-dictid=\"e3d212ebd316927771996e0c472d4a\">swelling</span> subsides</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Until 3 weeks of effective chemotherapy</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cholera</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3 days after <span class=\"customMeta\" data-dictid=\"8784b5a7ad16927772005323b514b8\">tetracycline</span> started</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/nrPW1EVl1DidfZcfiBsB1743364745.mp3", "video": ""}, {"text": "Match the following diseases with their typical incubation periods: 1. COVID-19 a. 18-72 hours 2. Typhoid b. 3-21 days 3. Influenza c. 10-14 days", "options": [{"label": "A", "text": "1-b, 2-c, 3-a", "correct": true}, {"label": "B", "text": "1-b, 2-a, 3-c", "correct": false}, {"label": "C", "text": "1-c, 2-a, 3-b", "correct": false}, {"label": "D", "text": "1-a, 2-c, 3-b", "correct": false}], "correct_answer": "A. 1-b, 2-c, 3-a", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/RMhflIYi4SijJpvklB0w1725272321.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:503px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\"><strong>Diseases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\"><strong>Incubation period</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">COVID-19</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">3-21 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Typhoid</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">10-14 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Influenza</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">18-72 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Measles</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">10-14 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Mumps </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">14-21 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Rubella</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">2-3 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Varicella</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">14-16 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Hepatitis A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">15 to 50 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Hepatitis B</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">30 to 180 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Hepatitis C</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">14 to 180 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:234px\">\n<p style=\"text-align:center\">Hepatitis E</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:269px\">\n<p style=\"text-align:center\">15 to 60 days</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/R2BmdjcbWS34y86HKehN1747159777.mp3", "video": ""}, {"text": "During an outbreak of measles in a small community, a primary case was identified in a household of 6 people. Within the next two weeks, 4 additional household members developed measles. What is the secondary attack rate (SAR) for this household?", "options": [{"label": "A", "text": "50%", "correct": false}, {"label": "B", "text": "60%", "correct": false}, {"label": "C", "text": "66.7%", "correct": false}, {"label": "D", "text": "80%", "correct": true}], "correct_answer": "D. 80%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/jOTNLwATkvKpfgUCPlCx1725272258.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/XMyivpUJz98MxIR75N7u1743362455.mp3", "video": ""}, {"text": "What specific measure does the term \"secondary attack rate\" refer to?", "options": [{"label": "A", "text": "The burden of a disease.", "correct": false}, {"label": "B", "text": "Communicability of a disease.", "correct": true}, {"label": "C", "text": "Number of deaths due to a disease.", "correct": false}, {"label": "D", "text": "Carrier status of a disease", "correct": false}], "correct_answer": "B. Communicability of a disease.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/JmrMw9HHwDrHkGax55161725272069.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/9fjpMVMNnOYqnslFjU4r1747159730.mp3", "video": ""}, {"text": "During a local polio outbreak, a routine health check reveals poliovirus in the stool of a 10-year-old boy who shows no symptoms of illness. He has been participating in community sports events. What type of carrier is this boy most likely to be?", "options": [{"label": "A", "text": "Convalescent carrier", "correct": false}, {"label": "B", "text": "Healthy carrier", "correct": true}, {"label": "C", "text": "Incubatory carrier", "correct": false}, {"label": "D", "text": "Chronic carrier", "correct": false}], "correct_answer": "B. Healthy carrier", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:600px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Types of Carrier</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Healthy (Asymptomatic)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Harbours and transmits a <span class=\"customMeta\" data-dictid=\"ed4634701d16927771942c4408495f\">pathogen</span> without showing symptoms.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Polio</li>\n<li>Typhoid fever</li>\n<li>COVID-19</li>\n<li>Meningitis</li>\n<li>Cholera</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubatory </strong></p>\n<p><strong>(Option C ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can transmit the disease during the <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period before symptoms appear.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Measles</li>\n<li>Influenza</li>\n<li>Pertussis</li>\n<li>Polio</li>\n<li>Mumps</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Convalescent (Option A ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Continues to harbour and shed the <span class=\"customMeta\" data-dictid=\"ed4634701d16927771942c4408495f\">pathogen</span> for a short period after recovering from <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> illness.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Diphtheria</li>\n<li>Meningococcal meningitis</li>\n<li>Typhoid</li>\n<li>Cholera</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chronic (Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Harbours and excretes the <span class=\"customMeta\" data-dictid=\"ed4634701d16927771942c4408495f\">pathogen</span> for an extended period (often >1 year) after initial infection.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Hepatitis B</li>\n<li>Typhoid fever</li>\n<li>Malaria</li>\n<li>Gonorrhoea</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/P6RU0ehKvw1a1eyw5isU1747159683.mp3", "video": ""}, {"text": "Which of the following best describes the median incubation period?", "options": [{"label": "A", "text": "Shortest time from exposure to symptom onset in 50% of cases", "correct": false}, {"label": "B", "text": "Longest time from exposure to symptom onset in 50% of cases", "correct": false}, {"label": "C", "text": "Average time from exposure to recovery in 50% of cases", "correct": false}, {"label": "D", "text": "Average time from exposure to symptom onset in 50% of cases", "correct": true}], "correct_answer": "D. Average time from exposure to symptom onset in 50% of cases", "question_images": [], "explanation_images": [], "explanation": "\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:503px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diseases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation period</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>COVID-19</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3-21 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Typhoid</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10-14 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Influenza</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>18-72 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measles</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10-14 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mumps</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14-21 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rubella</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2-3 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Varicella</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14-16 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hepatitis A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>15 to 50 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hepatitis B</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30 to 180 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hepatitis C</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14 to 180 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hepatitis E</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>15 to 60 days</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FkQswGffLDLiImFCu0Bx1743363474.mp3", "video": ""}, {"text": "Match the following terms with their correct definitions: 1.Serial Interval a. The time from infection to the onset of symptoms. 2.Incubation Period b. The time between the onset of symptoms in a primary case and the onset of symptoms in secondary cases. 3.Window Period c. The time between infection and when the pathogen can be detected by laboratory tests. 4.Generation Time d. The time from infection in a new host to the onset of symptoms in that new host.", "options": [{"label": "A", "text": "1-b, 2-a, 3-c, 4-d", "correct": true}, {"label": "B", "text": "1-a, 2-b, 3-d, 4-c", "correct": false}, {"label": "C", "text": "1-d, 2-c, 3-a, 4-b", "correct": false}, {"label": "D", "text": "1-c, 2-d, 3-b, 4-a", "correct": false}], "correct_answer": "A. 1-b, 2-a, 3-c, 4-d", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/d8gs6xPfboXL0ockoMSv1743363715.mp3", "video": ""}, {"text": "Which of the following statements best describes the difference between a carrier state and a latency period?", "options": [{"label": "A", "text": "Carrier state: Symptomatic Latency period: Asymptomatic", "correct": false}, {"label": "B", "text": "Carrier state: Pathogen transmissible, even asymptomatic. Latency period: Pathogen dormant, not transmissible", "correct": true}, {"label": "C", "text": "Carrier state: Time before initial exposure to the pathogen Latency period: Time before symptoms appear.", "correct": false}, {"label": "D", "text": "Carrier state: Occurs when the person is recovering from the disease. Latency period: Occurs after symptoms have resolved", "correct": false}], "correct_answer": "B. Carrier state: Pathogen transmissible, even asymptomatic. Latency period: Pathogen dormant, not transmissible", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:698px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Aspects</strong><strong> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Carrier State</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Latency Period</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pathogen Activity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The <span class=\"customMeta\" data-dictid=\"ed4634701d16927771942c4408495f\">pathogen</span> is present and active.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The <span class=\"customMeta\" data-dictid=\"ed4634701d16927771942c4408495f\">pathogen</span> is present but dormant.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Symptoms</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No symptoms were shown by the person.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transmissibility</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The <span class=\"customMeta\" data-dictid=\"ed4634701d16927771942c4408495f\">pathogen</span> is <span class=\"customMeta\" data-dictid=\"79fc5a182c1692777200dc9d221494\">transmissible</span> to others.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pathogen is not transmissible.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Stage in Disease Course</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It can occur after recovery or without any disease phase.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Typically, it occurs between the initial infection and the onset of symptoms.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Detection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pathogens can be detected through tests.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pathogens may not be easily detectable.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/eLrqhozIlHBmSA2aEBe81743364193.mp3", "video": ""}, {"text": "Match the appropriate answer: 1) Virulence a) Ability of the pathogen to cause disease by producing toxins and evading host defenses 2) Infectivity b) Ability of the pathogen to enter, survive, and multiply in the host 3) Pathogenicity c) Ability of the pathogen to induce an immune response in the host 4) Antigenicity d) Ability of the pathogen to cause disease by invading tissues and producing toxins", "options": [{"label": "A", "text": "1-b, 2-a, 3-c, 4-d", "correct": false}, {"label": "B", "text": "1-a, 2-b, 3-d, 4-c", "correct": true}, {"label": "C", "text": "1-d, 2-c, 3-a, 4-b", "correct": false}, {"label": "D", "text": "1-c, 2-d, 3-b, 4-a", "correct": false}], "correct_answer": "B. 1-a, 2-b, 3-d, 4-c", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/9wJzd0IuQ6GwwaxAD6uz1747158676.mp3", "video": ""}, {"text": "The transfer of infectious agents within the vector from one stage of life to the next occurs in which type of transmission?", "options": [{"label": "A", "text": "Transovarian transmission", "correct": false}, {"label": "B", "text": "Propagative transmission", "correct": false}, {"label": "C", "text": "Cyclopropagative transmission", "correct": false}, {"label": "D", "text": "Transstadial transmission", "correct": true}], "correct_answer": "D. Transstadial transmission", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/DElE1pOVqpYEjXwWMAmI1733992799.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transovarian </strong><strong>transmission</strong></p>\n<p><strong>(Vertical) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transstadial </strong><strong>transmission</strong></p>\n<p><strong>(Horizontal</strong>)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Transfer of <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent from the mother <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> to its progeny.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Transfer of <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent within the <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> from one stage of life to another.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>E.g., Kyasanur forest disease, scrub typhus, Q fever, and Rocky Mountain spotted fever.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>E.g., Borrelia burgdorferi (Lyme disease)</p>\n<p>Larve gets infected, which develops into a <span class=\"customMeta\" data-dictid=\"2e10ba14ec169277719335e6d708cf\">nymph</span> and, lastly, an infected adult.</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/whusE4XwgU5Hqm94IANB1743363869.mp3", "video": ""}, {"text": "A 38-year-old male has had a fever of 103°F, chills, and severe headaches that have persisted for three days. A blood smear confirms the presence of Plasmodium falciparum trophozoites in erythrocytes. Which type of biological transmission does this parasite undergo within the vector?", "options": [{"label": "A", "text": "Propagative transmission", "correct": false}, {"label": "B", "text": "Cyclodevelopmental transmission", "correct": false}, {"label": "C", "text": "Cyclopropagative transmission", "correct": true}, {"label": "D", "text": "Both A and B", "correct": false}], "correct_answer": "C. Cyclopropagative transmission", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:568px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Propagative transmission </strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The agent only multiplies in number within the vector.</p>\n<p>E.g., <span class=\"customMeta\" data-dictid=\"b98ea6f7ff1692777202949d7a5b46\">Yersinia</span> <span class=\"customMeta\" data-dictid=\"1db39f708f16927771954d003af865\">pestis</span> in rat flea.</p>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cyclodevelopmental transmission </strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agent develops into <span class=\"customMeta\" data-dictid=\"802328b229169277719000601489eb\">infective</span> <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> within the <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> without multiplying.</p>\n<p>E.g.,Microfilaria in <span class=\"customMeta\" data-dictid=\"8821feceff1692777185b2fc88c7dd\">culex</span> mosquito</p>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cyclopropagative transmission </strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agent develops into <span class=\"customMeta\" data-dictid=\"802328b229169277719000601489eb\">infective</span> <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> and multiplies in number within the vector.</p>\n<p>E.g., <span class=\"customMeta\" data-dictid=\"4e6b4ad24c1692777192e9603b2771\">Malarial parasite</span> in <span class=\"customMeta\" data-dictid=\"66073c961c16927771813a8a53a18f\">Anopheles</span> mosquito</p>\n</td>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n<table cellspacing=\"0\" style=\"width:568px\">\n<tbody>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4WcDCXLofvQ9fHgJ7APR1743361857.mp3", "video": ""}, {"text": "Which of the following diseases is spread via droplet nuclei?", "options": [{"label": "A", "text": "Whooping cough", "correct": false}, {"label": "B", "text": "Diphtheria", "correct": false}, {"label": "C", "text": "Common cold", "correct": false}, {"label": "D", "text": "Chickenpox", "correct": true}], "correct_answer": "D. Chickenpox", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:617px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Droplet </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Droplet <span class=\"customMeta\" data-dictid=\"e6b47028191692777193eb698e43b6\">nuclei</span> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Direct mode of transmission</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Indirect mode of transmission</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It can spread via contact with the oromucosal membrane, conjunctiva.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Enters the alveoli.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Heavier particles that are more than 5 microns in size</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lighter particles which are less than 5 microns in size</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They fall on the ground due to gravity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They remain suspended in the air, and it can disseminate along with air currents</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can travel less than 1 meter in distance</p>\n<p>(Up to 30-60 cm)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can travel more than 1 meter in distance</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples:</strong></p>\n<ul>\n<li>Common cold (Option C)</li>\n<li>Diphtheria (Option B)</li>\n<li>Whooping <span class=\"customMeta\" data-dictid=\"8f02e74e821692777185a0c005c508\">cough</span> (Option A)</li>\n<li>Tuberculosis</li>\n<li>COVID-19</li>\n<li>Meningococcal meningitis</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples:</strong></p>\n<ul>\n<li>Tuberculosis</li>\n<li>Influenza</li>\n<li>Chickenpox</li>\n<li>Measles</li>\n<li>Q fever</li>\n<li>COVID-19</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>DIRECT </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>INDIRECT </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet (30 to 60 cm spread)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Fomite</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Transplacental</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Airborne ( > 60 cm spread)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vehicle Borne</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Soil</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Unclean hands</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vector borne</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3TtqG0WtYY6al4col8gU1747159599.mp3", "video": ""}, {"text": "A 28-year-old pregnant woman was screened for TORCH infections in her third trimester. Which of the following diseases is typically associated with vertical transmission during this trimester of pregnancy?", "options": [{"label": "A", "text": "Rubella", "correct": false}, {"label": "B", "text": "Parvovirus", "correct": false}, {"label": "C", "text": "Varicella", "correct": false}, {"label": "D", "text": "Toxoplasmosis", "correct": true}], "correct_answer": "D. Toxoplasmosis", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:495px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vertical transmission of diseases.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1st <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rubella, Chickenpox/varicella</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2nd <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Parvovirus</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3rd <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Toxoplasmosis, CMV, <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">Hepatitis</span> B and Syphilis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>During delivery </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HIV and herpes</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1LTYvT5Y4HBjzCy4LG1k1743361098.mp3", "video": ""}, {"text": "A 37-year-old male presents with sudden onset fever and a rapidly enlarging tender lymph node in the left axilla. Considering the clinical history of plague, which of the following is not true regarding the vector responsible for transmission of this infection?", "options": [{"label": "A", "text": "Transport pathogens mechanically.", "correct": true}, {"label": "B", "text": "Pathogen undergoes development within the vector.", "correct": false}, {"label": "C", "text": "Pathogen multiples within the vector.", "correct": false}, {"label": "D", "text": "Vector passively excrete the pathogen.", "correct": false}], "correct_answer": "A. Transport pathogens mechanically.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:601px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanical vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Biological <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Infectious agent is mechanically transported on the <span class=\"customMeta\" data-dictid=\"32656dc8ba1692777202fc49f9ed13\">feet</span> or <span class=\"customMeta\" data-dictid=\"8e29cc842c1692777196d2a7e38fb2\">proboscis</span> of the agent. (Option A)</li>\n<li>It can also get passively excreted unchanged from the agent GIT. (Option D)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Infectious agents are taken up by the vector, where they can undergo a necessary development cycle. (Option B)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>An agent does not undergo <span class=\"customMeta\" data-dictid=\"ea15a8dedc1692777193399f05b191\">multiplication</span> or development within the vector.</p>\n<p>E.g., the spread of <span class=\"customMeta\" data-dictid=\"7cdec994951692777182191a3c6b4e\">bacillary</span> <span class=\"customMeta\" data-dictid=\"83b2863439169277718675fa3b9b00\">dysentery</span> by houseflies.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Agent undergoes</p>\n<ul>\n<li>Multiplication (propagative) - <span class=\"customMeta\" data-dictid=\"8ed8a7d3381692777195ca51ab7b1f\">plague</span> <span class=\"customMeta\" data-dictid=\"fe0005a48b1692777182143f69e1d5\">bacilli</span> in fleas.</li>\n<li>Development (cyclo-developmental) - microfilariae in <span class=\"customMeta\" data-dictid=\"8821feceff1692777185b2fc88c7dd\">culex</span> mosquito.</li>\n<li>Both (cyclo-propagative) - <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> parasites in Anopheles.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7geBuDYlxD8MapLhbIQW1747159320.mp3", "video": ""}, {"text": "Which of the following diseases exclusively involves obligate hosts in its transmission cycle?", "options": [{"label": "A", "text": "Measles", "correct": true}, {"label": "B", "text": "Sleeping sickness", "correct": false}, {"label": "C", "text": "Hydatid disease", "correct": false}, {"label": "D", "text": "Filaria", "correct": false}], "correct_answer": "A. Measles", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/XLg1RwRCk1H5I8Yh3ImT1747158854.mp3", "video": ""}, {"text": "Which of the following diseases are seen in the transmission cycle of dead-end hosts?", "options": [{"label": "A", "text": "Tetanus", "correct": true}, {"label": "B", "text": "TB", "correct": false}, {"label": "C", "text": "Dengue fever", "correct": false}, {"label": "D", "text": "Malaria", "correct": false}], "correct_answer": "A. Tetanus", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ag1scn4XfDyS3kQNUVnm1743359999.mp3", "video": ""}, {"text": "Which of the following correctly identifies the primary and secondary hosts?", "options": [{"label": "A", "text": "Malaria: Primary Host - Mosquitoes, Secondary Host - Humans", "correct": true}, {"label": "B", "text": "Filaria: Primary Host - Humans, Secondary Host - Mosquitoes(Anopheles)", "correct": false}, {"label": "C", "text": "Dengue: Primary Host - Ticks, Secondary Host - Humans", "correct": false}, {"label": "D", "text": "Chikungunya: Primary Host - Humans, Secondary Host - Ticks", "correct": false}], "correct_answer": "A. Malaria: Primary Host - Mosquitoes, Secondary Host - Humans", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:615px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primary Host </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Secondary Host </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>The organism in which the <span class=\"customMeta\" data-dictid=\"a59b97ce831692777194f6c0160f15\">parasite</span> reaches maturity.</li>\n<li>Agent reproduces sexually in the primary host.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>The organism in which the <span class=\"customMeta\" data-dictid=\"a59b97ce831692777194f6c0160f15\">parasite</span> lives for a shorter period, often as an <span class=\"customMeta\" data-dictid=\"cf8f491dba169277719075ce2b5594\">intermediate</span> stage.</li>\n<li>There is no sexual <span class=\"customMeta\" data-dictid=\"76948f718016927771924774ade7e9\">maturation</span> of the agent in the secondary agent.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquitoes (Anopheles species)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Humans</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Filaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Humans</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquitoes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dengue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquitoes (Aedes species)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Humans</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chikungunya</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Humans</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquitoes (Aedes species)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xoHhwplh7e5eNVGdjj0r1743359885.mp3", "video": ""}, {"text": "Which of the following correctly pairs the disease with its primary reservoir and source of infection?", "options": [{"label": "A", "text": "Disease: Measles, Reservoir: Humans, Source of Infection: Respiratory droplets", "correct": true}, {"label": "B", "text": "Disease: Plague, Reservoir: Soil, Source of Infection: Contaminated wounds", "correct": false}, {"label": "C", "text": "Disease: Tetanus, Reservoir: Humans, Source of Infection: Mosquito bites", "correct": false}, {"label": "D", "text": "Disease: Malaria, Reservoir: Wild rodents, Source of Infection: Flea bites", "correct": false}], "correct_answer": "A. Disease: Measles, Reservoir: Humans, Source of Infection: Respiratory droplets", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:605px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Reservoir</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Source of Infection</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>TB </strong></p>\n</td>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><br/>\n<br/>\n<br/>\n<br/>\n\t\t\t \n\t\t\t<p>Humans</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Respiratory droplets.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HIV</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Blood, sexual contact, mother-to-child.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Typhoid</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contaminated food and water.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles </strong>(Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Respiratory droplets.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Malaria </strong>(Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mosquito bites (Anopheles species).</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cholera</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contaminated water and food.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>KFD (Kyasanur Forest Disease)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Small mammals, monkeys</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tick bites.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tetanus </strong>(Option C)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Soil</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Plague</strong><strong> </strong>(Option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Wild rodents (e.g., rats)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Flea bites.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>JE (Japanese Encephalitis)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pigs, wild birds</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquito bites (Culex species).</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/keXiplUlUOOMQSxc8wIG1743359675.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 30 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A 2-year-old child presents to the clinic with a persistent cough lasting for 2 weeks. The cough consists of rapid, consecutive coughs followed by an inspiratory gasp and post-tussive vomiting. The child's 5-year-old sibling, who attends preschool, developed similar symptoms 10 days ago.Based on the clinical presentation and exposure history described, what is the likelihood that the child's sibling will develop similar symptoms within the next few weeks?", "options": [{"label": "A", "text": "10%", "correct": false}, {"label": "B", "text": "25%", "correct": false}, {"label": "C", "text": "50%", "correct": false}, {"label": "D", "text": "&gt;90%", "correct": true}], "correct_answer": "D. >90%", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:792px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Source</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Period of Communicability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Host Factors</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Mumps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>ssRNA</strong> virus of the family <strong>Paramyxovirus</strong>.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Cases and <span class=\"customMeta\" data-dictid=\"4e02cdf6641692777199b3cc3b7237\">subclinical</span> cases</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>4 to 6 days before onset of symptoms and 1 week after.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Affects children between 5-9 years old.</p>\n<p>Both genders can be affected.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Measles </strong><br/>\n<strong>(Rubeola)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>ssRNA</strong> virus of the family <strong>Paramyxoviruses</strong>.</p>\n<p>Only one <span class=\"customMeta\" data-dictid=\"65731fcbaf1692777198547abcf08e\">serotype</span> is responsible for infection thus single infection provides lifelong immunity</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Subclinical and clinical cases of measles</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>4 days before and 4-5 days after the appearance of rash.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>In developing countries: 6 months-3 years.</p>\n<p>In developed countries: > 5 years.</p>\n<p>M=F.</p>\n<p>Malnutrition is a <span class=\"customMeta\" data-dictid=\"80c0cb2a5f1692777196ba45847553\">predisposing</span> factor (Especially <span class=\"customMeta\" data-dictid=\"4941f0477a1692777202923cd79e22\">Vitamin A</span> deficiency).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Rubella (or 3-day <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> or German Measles)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>ssRNA</strong> virus of the family <strong>Togavirus</strong>.</p>\n<p>It has one <span class=\"customMeta\" data-dictid=\"331db7d96b16927771813cfafb0985\">antigenic</span> variant.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Cases and <span class=\"customMeta\" data-dictid=\"4e02cdf6641692777199b3cc3b7237\">subclinical</span> cases. Infants born with <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> may shed the virus for many months.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1 week before the <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> and 1 week after rash.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Seen in developing countries.</p>\n<p>Age group: 3-10 years.</p>\n<p>M=F.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Pertussis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Bordetella pertussis.</p>\n<p>Para <span class=\"customMeta\" data-dictid=\"e407b4ecb9169277719549831239bb\">pertussis</span> is responsible in 5% cases.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Cases of pertussis.</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>1 week post-exposure till 3 weeks after onset of <span class=\"customMeta\" data-dictid=\"cd15fe58221692777194fbb9eec8d1\">paroxysmal</span> stage.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Age: <5 years.</p>\n<p>Highest mortality in children <6 months.</p>\n<p>Incidence and mortality are more among females.</p>\n</td>\n</tr>\n</tbody>\n\n<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"0\" style=\"border-collapse:collapse; width:0%\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Secondary Attack Rate</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Mumps</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>86%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Measles</p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>80%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Rubella</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Pertussis</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>>90%</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yTjLpw11QQsgItZiVm9B1742758535.mp3", "video": ""}, {"text": "Match the following pathogen with its incubation period? Pathogen Incubation period A. Mumps 1. 7-10 days B. Measles 2. 18 days C. Rubella 3. 14-21 days D. Pertussis 4. 7-14 days", "options": [{"label": "A", "text": "A-3, B-1, C-2, D-4", "correct": true}, {"label": "B", "text": "A-1, B-2, C-3, D-4", "correct": false}, {"label": "C", "text": "A-2, B-3, C-4, D-1", "correct": false}, {"label": "D", "text": "A-4, B-1, C-2, D-3", "correct": false}], "correct_answer": "A. A-3, B-1, C-2, D-4", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Causative Agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mode of Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation Period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Remarks</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measles virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rash appears ~14 days; <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> with <span class=\"customMeta\" data-dictid=\"53ddc0755c1692777195e8d5f9fc68\">periodic</span> epidemics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mumps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mumps virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14–21 days (avg 16–18 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Iceberg phenomenon; endemic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rubella</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rubella virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14–21 days (avg ~18 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Epidemics occur every 5–7 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chickenpox (Varicella)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Varicella-zoster virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Airborne, droplet, direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–21 days (avg 14–16 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Highly contagious</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pertussis (Whooping Cough)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Bordetella pertussis</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days (may extend to 3 weeks)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Endemic; catarrhal stage follows incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diphtheria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Corynebacterium diphtheriae</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, contact with infected secretions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–5 days (range up to 10 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires <span class=\"customMeta\" data-dictid=\"2ff0b3039f16927771818bb2a247b0\">antitoxin</span> + antibiotics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Influenza</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Influenza virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–4 days (avg ~2 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rapid onset; <span class=\"customMeta\" data-dictid=\"201a6ea7721692777198c51d735506\">seasonal</span> epidemics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>COVID-19</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>SARS-CoV-2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, aerosol, contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–14 days (avg 5–6 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Incubation varies by variant</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Syphilis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Treponema pallidum</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sexual, transplacental</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–90 days (avg ~21 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Chancre appears ~3 weeks post-exposure</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hepatitis A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HAV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>15–50 days (avg ~28 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Waterborne outbreaks possible</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hepatitis B</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HBV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Parenteral, sexual, perinatal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30–180 days (avg ~75 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Asymptomatic during incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tetanus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Clostridium tetani</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contaminated wounds</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3–21 days (avg ~8 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Severity ↑ with shorter incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rabies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rabies virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Animal bites (saliva)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–3 months (can range 1 week–1 year)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Depends on bite site & <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> load</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Typhoid Fever</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Salmonella typhi</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Gradual onset of fever</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cholera</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Vibrio cholerae</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral (contaminated water)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 hours–5 days (avg 1–2 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sudden <span class=\"customMeta\" data-dictid=\"dd9858c0bf1692777187ed886e9735\">explosive</span> outbreaks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dengue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dengue virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquito-borne (Aedes aegypti)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4–7 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>After bite of infected mosquito</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Leptospirosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Leptospira interrogans</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contact with animal urine-contaminated water</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–30 days (avg 7–12 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Occupational risk; <span class=\"customMeta\" data-dictid=\"d2d6148c9e16927771833a65ad15d2\">biphasic</span> illness</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hand-Foot-Mouth Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Coxsackie A virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral, <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> secretions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3–6 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Common in young children</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Polio</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Poliovirus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral, oral-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>May be <span class=\"customMeta\" data-dictid=\"d1a9a79f701692777182066af09044\">asymptomatic</span> or paralytic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HIV/AIDS (Acute Phase)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HIV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sexual, blood, perinatal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–6 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Acute retroviral syndrome during seroconversion</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Plasmodium</em> spp.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquito-borne (Anopheles)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–30 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>P. falciparum: shorter incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Mycobacterium tuberculosis</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Airborne</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weeks to months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Latent TB has undefined <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bacillus cereus food poisoning</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Bacillus cereus</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of contaminated food</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–6 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Associated with reheated rice</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Staphylococcal food poisoning</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Staph. aureus</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of preformed toxin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–8 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Common in cream/pastry-based food</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Botulism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Clostridium botulinum</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of toxin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>18–36 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Neuroparalysis; emergency</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wlX8sJY1RN0UlgDFNNV31747160049.mp3", "video": ""}, {"text": "A 10-year-old child presents with a low-grade fever for the past 5 days . Upon examination, the child appears as shown below. Which of the following is true about this condition?", "options": [{"label": "A", "text": "It is the leading cause of pancreatitis in children", "correct": true}, {"label": "B", "text": "Infectious cause of conductive hearing loss", "correct": false}, {"label": "C", "text": "0.5 ml of Jeryl Lynn strain vaccine given intradermally", "correct": false}, {"label": "D", "text": "Septic meningitis is a common complication", "correct": false}], "correct_answer": "A. It is the leading cause of pancreatitis in children", "question_images": ["https://image.prepladder.com/content/AfWheTxOgI72qn9joUSt1733996346.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:698px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Complications</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Orchitis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>The most common extra salivary <span class=\"customMeta\" data-dictid=\"4744bb90c21692777188c8957f9faa\">gland</span> manifestation of <span class=\"customMeta\" data-dictid=\"f61c340e77169277719339e74267c4\">mumps</span> in post pubertal patients.</p>\n<p>Common among adolescents and is usually unilateral.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Oophoritis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Most common among adolescents and is mostly unilateral.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Pancreatitis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Mumps is the leading cause of <span class=\"customMeta\" data-dictid=\"98ea94d2c01692777194cc5ffee153\">pancreatitis</span> in children.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Aseptic Meningitis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>The most common <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> of mumps. <strong>(Option D)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Sensorineural Deafness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Mumps is one of the most common <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> causes of <span class=\"customMeta\" data-dictid=\"a646a25d3616927771989c6e155498\">sensorineural</span> hearing loss. <strong>(Option B)</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:654px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Vaccine Strain</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<ul>\n<li>Jeryl Lynn (recommended);</li>\n<li>Leningrad 3, RIT 4385, L-Zagreb, Urabe (other strains)</li>\n<li>Rubini strain is <strong>NOT </strong>recommended by WHO</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>ROA & Dosage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Intramuscular &0.5 ml <strong>(Option C ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Age</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>> 1 year of age</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:middle\">\n<p><strong>Schedule</strong></p>\n</td>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<ul>\n<li>Can be given alone, or as MMR or MR combined vaccine</li>\n<li>As per National <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">immunization</span> schedule\n\t\t\t\t<ul>\n<li>First at <strong>9 months</strong> till <strong>12 months </strong>as MR-1</li>\n<li>Second dose recommended at 1<strong>6-24 months</strong> as MR-2</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/sbTRci35FgCadmso30Lw1742758809.mp3", "video": ""}, {"text": "A 6-month-old infant is brought to the pediatric clinic to receive the third dose of the DPT (Diphtheria, Pertussis, Tetanus) vaccine. Which of the following is a potential side effect of the pertussis component of the vaccine?", "options": [{"label": "A", "text": "Intussusception", "correct": false}, {"label": "B", "text": "Toxic shock syndrome", "correct": false}, {"label": "C", "text": "Guillain-Barré syndrome", "correct": false}, {"label": "D", "text": "Inconsolable cry", "correct": true}], "correct_answer": "D. Inconsolable cry", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:711px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>DPT (Diphtheria, pertussis, tetanus) vaccine</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Components</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Diphtheria toxoid: 25 Lf (limit of flocculation).</p>\n<p>Tetanus toxoid: 5 Lf.</p>\n<p>Pertussis killed <span class=\"customMeta\" data-dictid=\"adb93c1540169277718043552b7de2\">acellular</span> bacilli: 20,000 million.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0.5 ml</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Route of administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Site</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Anterolateral aspect of left thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Schedule</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can be given as <span class=\"customMeta\" data-dictid=\"d087911e3e1692777186e2859edb6b\">DPT</span> or <span class=\"customMeta\" data-dictid=\"5050869d8216927771958b19b53d5a\">pentavalent</span> vaccine at 6 weeks, 10 weeks, 14 weeks.</p>\n<p>1st <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> dose at 16-24 months.</p>\n<p>2d <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> dose at 5-6 years.</p>\n<p>In case of delayed vaccination, <span class=\"customMeta\" data-dictid=\"d087911e3e1692777186e2859edb6b\">DPT</span> can be given till 7 years of age while <span class=\"customMeta\" data-dictid=\"5050869d8216927771958b19b53d5a\">PENTAVALENT</span> can be given up to 1 year of age only.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Adjuvant</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Aluminum <span class=\"customMeta\" data-dictid=\"189b6fc834169277719580eb39bb4c\">phosphate</span> (2.5 mg): Increases <span class=\"customMeta\" data-dictid=\"fae329fd7216927771890da70eb2d5\">immunogenicity</span> of vaccine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Preservative</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Thiomersal (0.01%)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Adverse effects</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Fever and mild local reaction common following <span class=\"customMeta\" data-dictid=\"d087911e3e1692777186e2859edb6b\">DPT</span> vaccine.</li>\n<li><strong>Due to <span class=\"customMeta\" data-dictid=\"e407b4ecb9169277719549831239bb\">pertussis</span> component</strong>: Inconsolable cry, Reye’s syndrome, <span class=\"customMeta\" data-dictid=\"bf6247405e16927771891b6a068d36\">Hypotensive</span> hyporesponsive <span class=\"customMeta\" data-dictid=\"b37b211cbc169277718725f07b5473\">encephalopathy</span> (HHE) (option D).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contraindications</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>If severe reactions such as collapse/shock, temperature > 40°C and <span class=\"customMeta\" data-dictid=\"d6d717efa216927771819fee139235\">anaphylaxis</span> occurred after the previous dose.</li>\n<li>In such cases, the next part of the vaccine should not contain the <span class=\"customMeta\" data-dictid=\"e407b4ecb9169277719549831239bb\">pertussis</span> component.</li>\n<li>Persistent inconsolable crying for more than 2 hours following DPT/pentavalent <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> is not an <span class=\"customMeta\" data-dictid=\"5c75e642ec1692777180a26c605127\">absolute contraindication</span> to subsequent doses.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/U91O0pXmh75JDycHVPCR1742759247.mp3", "video": ""}, {"text": "A 4 Y/o girl has been brought to the clinic with a high fever, cough, runny nose, and red eyes for the past three days associated with a red, blotchy rash that started on her face and has now spread to her trunk and limbs. On examination, greyish-white spots on the buccal mucosa are noticed. If this febrile illness is caused by a ssRNA paramyxovirus, which of the following is most specific for making a clinical diagnosis in this child?", "options": [{"label": "A", "text": "Coryza and conjunctivitis", "correct": false}, {"label": "B", "text": "Grayish white spots on buccal mucosa", "correct": true}, {"label": "C", "text": "High fever", "correct": false}, {"label": "D", "text": "Rash from face spread to trunk and limbs", "correct": false}], "correct_answer": "B. Grayish white spots on buccal mucosa", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/LC36fY2RHxP5dT2URsN01733996644.png", "https://image.prepladder.com/content/BHSlBGH8IK6Im5Swfut61733997213.png", "https://image.prepladder.com/content/cHmNfaJQJ0mKtuevYP8N1733996795.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:703px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Causative agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>ssRNA paramyxovirus</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>10 days from exposure to onset of fever and 14 days to the appearance of rash</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Source of infection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Person with measles</li>\n<li>Infective material</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Period of communicability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>4 days before and 4 days after the appearance of rash</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Clinical features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prodromal stage</strong>:</p>\n<ul>\n<li>Fever</li>\n<li>Cough</li>\n<li>Coryza with sneezing</li>\n<li>Conjunctivitis with lacrimation</li>\n<li><strong>Koplik’s spots-</strong><em> </em>grayish-white spots on the <span class=\"customMeta\" data-dictid=\"d72626dd5c1692777183f1c92b2deb\">buccal</span> <span class=\"customMeta\" data-dictid=\"31ae8f4dc51692777193069d92be37\">mucosa</span> (<strong>Pathognomonic</strong> feature) <strong>(Option B)</strong></li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Eruptive stage</strong>:</p>\n<ul>\n<li>Dusky red macular/maculopapular rash, which starts behind the ears and progresses to the face, neck and then to trunks and limbs.</li>\n<li>In the absence of complications, the lesions and fever disappear after 3-4 days.</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Post <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> stage:</strong></p>\n<ul>\n<li>After the <span class=\"customMeta\" data-dictid=\"8d4614c31316927771874f34d090a9\">eruptive</span> stage, it leads to weight loss, weakness, fatigue, diarrhea.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Isolation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>7 days from the onset of rash</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Difference between <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> and <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> rash</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Both rashes are maculopapular</li>\n<li>The <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> in <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> is more <span class=\"customMeta\" data-dictid=\"8793eea96e169277718446e2ea701a\">confluent</span> and botchy, whereas the <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> in <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> is <span class=\"customMeta\" data-dictid=\"635650799116927771862d7cb568f4\">discrete</span> or non-confluent.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Clinically diagnosed based on <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> and koplik’s spots</li>\n<li>Gold standard: PCR</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Treatment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>No specific treatment</li>\n<li>Symptomatic management only</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/IO3xYzXfmtMjVk11lNUX1742759373.mp3", "video": ""}, {"text": "Which of the following complications is the most common cause of death in measles?", "options": [{"label": "A", "text": "Protein-losing enteropathy", "correct": false}, {"label": "B", "text": "Subacute sclerosing panencephalitis", "correct": false}, {"label": "C", "text": "Pneumonia", "correct": true}, {"label": "D", "text": "Otitis Media", "correct": false}], "correct_answer": "C. Pneumonia", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:765px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p style=\"text-align:center\"><strong>COMPLICATIONS OF MEASLES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Otitis Media </strong>(Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>M/c <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> in young children. Covered under IMNCI programme.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Subacute <span class=\"customMeta\" data-dictid=\"0aa16e71201692777198c4c07e2392\">Sclerosing</span> <span class=\"customMeta\" data-dictid=\"871ad2a8051692777194a3f7cd0309\">Panencephalitis</span> (SSPE)</strong></p>\n<p>(Option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>A rare, fatal brain disease that occurs years after <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> infection, causing neurological damage and mortality</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Pneumonia</strong> (Option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Most common fatal <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> & cause of death</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Persistent Diarrhea</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Long-lasting diarrhea, potentially leading to <strong>protein-losing enteropathy</strong>.</p>\n<p>Prevalent in developing countries, impacting infants significantly.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Keratomalacia</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Measles causes <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> <span class=\"customMeta\" data-dictid=\"4941f0477a1692777202923cd79e22\">vitamin A</span> <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> in children.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Giant Cell Pneumonia, <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">Measles</span> Inclusion-body Encephalitis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Primarily affects <span class=\"customMeta\" data-dictid=\"a3cc9f976916927771895692a1a8a0\">immunocompromised</span> individuals.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Other complications: </strong>Laryngotracheobronchitis (Croup), Encephalitis, <span class=\"customMeta\" data-dictid=\"f71e485d131692777199151d1076d2\">Spontaneous</span> abortion, <span class=\"customMeta\" data-dictid=\"84f13673191692777196762b18e036\">Premature</span> delivery</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Complications in the post-measles stage: </strong>Diarrhea, fatigue & weight loss</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/t7MiBLHLa99pjYe93vTH1742758334.mp3", "video": ""}, {"text": "Which of the following statements about the measles vaccine is incorrect?", "options": [{"label": "A", "text": "The measles vaccine is available in monovalent and combination forms.", "correct": false}, {"label": "B", "text": "The first dose of the measles vaccine is administered at 9 completed months.", "correct": false}, {"label": "C", "text": "The MR variant is used under the National Immunisation Schedule", "correct": false}, {"label": "D", "text": "The measles vaccine follows the open vial policy and can be used for multiple doses once reconstituted.", "correct": true}], "correct_answer": "D. The measles vaccine follows the open vial policy and can be used for multiple doses once reconstituted.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:826px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Measles Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Immunoglobulin (Ig)</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Available in:</li>\n<li>Monovalent (measles only), <strong>measles-rubella (MR)- Used in NIS </strong><strong>(Option C ruled out)</strong></li>\n<li>Measles-Mumps-Rubella (MMR), and Measles-Mumps-Rubella-Varicella (MMRV) forms <strong>(Option A ruled out)</strong></li>\n<li>Strains used: Edmonston-Zagreb </li>\n<li><strong>First dose: 9 completed months</strong> (MR1-85% protection) <strong>(Option B ruled out)</strong></li>\n<li>Administered along with JE vaccine subcutaneously.</li>\n<li>Second dose: 16-24 months (MR2-98% protection)</li>\n<li>In case of delayed immunization, it can be given up to 5 years.</li>\n<li>MR is given in the right arm.</li>\n<li>It is a <strong>reconstituted vaccine (freeze-dried vaccine) & does not follow open <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">vial</span> policy.</strong></li>\n<li>Post-vaccination: Measles-like illness (1-3 days)</li>\n</ul>\n</td>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Can protect <span class=\"customMeta\" data-dictid=\"55691242bb1692777199360f64cb67\">susceptible</span> contacts older than 9-12 months old from <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> if given within 3 days of exposure.</li>\n</ul>\n<ul>\n<li>Recommended dose: 0.25 ml per kg of body weight</li>\n</ul>\n<ul>\n<li><strong>After receiving Ig, </strong>the individual should receive the<strong> live <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> vaccine 8-12 weeks later</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/IXL1szJSgx77aTkb8HX91742758212.mp3", "video": ""}, {"text": "Which of the following is least likely to be a feature of Congenital Rubella Syndrome (CRS)?", "options": [{"label": "A", "text": "Cataracts", "correct": false}, {"label": "B", "text": "Sensorineural deafness", "correct": false}, {"label": "C", "text": "Patent ductus arteriosus", "correct": false}, {"label": "D", "text": "Conductive hearing loss", "correct": true}], "correct_answer": "D. Conductive hearing loss", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/F8LPvxKtZMpM8j0oq2HV1734001791.png", "https://image.prepladder.com/content/fjEnGOloS4wCKscs5bRJ1734001989.png", "https://image.prepladder.com/content/VVPs4kozAUxRpykqzJBR1725280151.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:763px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>CONGENITAL <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">RUBELLA</span> SYNDROME</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Congenital <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> syndrome (CRS) occurs in infants who have contracted <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> from their mothers while in utero.</li>\n<li>The most likely time for this to occur is between 8-10 weeks of gestation.</li>\n<li>After birth, these babies can transmit the virus to others for a period of 12–18 months.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Dermatological presentation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Blueberry Muffin Rash</li>\n<li><strong>Forchheimer Spots- </strong>small, red or purple spots that can appear on the soft palate</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Ophthalmic Defects</strong></p>\n</td>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Cataracts <strong>(Option A ruled out)</strong></li>\n<li>Microphthalmia</li>\n<li>Glaucoma</li>\n<li>Salt and pepper retinopathy</li>\n<li>Chorioretinitis</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Auditory Defects</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Sensorineural <span class=\"customMeta\" data-dictid=\"696dd98be71692777185b10993da3e\">deafness</span> <strong>(Option B ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Cardiac Defects</strong></p>\n</td>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Peripheral <span class=\"customMeta\" data-dictid=\"10e2dee19e1692777196673db90c23\">pulmonary</span> <span class=\"customMeta\" data-dictid=\"a66cd3adaa1692777182e77cb23021\">artery</span> stenosis</li>\n<li>Patent <span class=\"customMeta\" data-dictid=\"7a6864e97b169277718602072817ee\">ductus</span> arteriosus <strong>(Option C ruled out)</strong></li>\n<li>Ventricular septal defects</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Craniofacial Defects</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Microcephaly</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Other Infant Presentations</strong></p>\n</td>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Meningoencephalitis</li>\n<li>Hepatosplenomegaly</li>\n<li>Thrombocytopenia</li>\n<li>Interstitial pneumonitis</li>\n<li>Radiolucency in the long bones</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\"> \n\t\t\t<p><strong>Diagnosis</strong></p>\n</td>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li><strong>Hemagglutination <span class=\"customMeta\" data-dictid=\"f03ca2d2a716927771901227bc175a\">inhibition</span> test (HAI)</strong> is the commonly preferred test.</li>\n<li>Presence of <span class=\"customMeta\" data-dictid=\"e4a6fd7fbb169277718986a699e800\">IgM</span> antibodies shortly after birth.</li>\n<li>Presence of <span class=\"customMeta\" data-dictid=\"2d9b37c62116927771891f3784d2c8\">IgG</span> antibodies lasting >6 months.</li>\n<li>IgM positive implies in-utero infection because <span class=\"customMeta\" data-dictid=\"e4a6fd7fbb169277718986a699e800\">IgM</span> antibodies cannot pass from mother to child through the placenta.</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/AmEbry4dr2tCZbIeAkWl1742758044.mp3", "video": ""}, {"text": "Which of the following statements about the rubella-containing vaccine (RCV) is incorrect?", "options": [{"label": "A", "text": "The live attenuated RA 27/3 strain is used in the rubella vaccine", "correct": false}, {"label": "B", "text": "RCVs have a shelf-life of 2-3 years when stored at 4°C", "correct": false}, {"label": "C", "text": "The recommended dose of RCV is 1.0 ml injected subcutaneously", "correct": true}, {"label": "D", "text": "Recipients of RCV are advised not to become pregnant for 1 month after vaccination", "correct": false}], "correct_answer": "C. The recommended dose of RCV is 1.0 ml injected subcutaneously", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:616px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<p style=\"text-align: center;\"><strong>RUBELLA VACCINE AND <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">VACCINATION</span> STRATEGY</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Strain Used</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Live attenuated RA 27/3 <strong>(Option A ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Formulations</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Monovalent, MR, MMR, MMRV</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Dosage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Single 0.5 ml dose, subcutaneously in <span class=\"customMeta\" data-dictid=\"5a5df583551692777181550518132c\">anterolateral</span> thigh or outer upper arm. <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Dose Effectiveness</strong></p>\n</td>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Single-Dose Strategy: </strong>Effective for <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> <span class=\"customMeta\" data-dictid=\"86c65ffa40169277718763f4072c2f\">elimination</span> if high coverage is achieved. >95% effectiveness for a single dose</p>\n<p><strong>Two-Dose Strategy: </strong>Practical when combined with <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> using MR or <span class=\"customMeta\" data-dictid=\"bcfa9a33261692777192ffd3683447\">MMR</span> vaccine</p>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Storage Conditions</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>RCVs: 2-8°C, protected from light</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Diluent vials: <span class=\"customMeta\" data-dictid=\"d3495799cb16927771819a4eab9793\">Ambient</span> temperature, not frozen</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Shelf-Life</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>2-3 years at 4°C <strong>(Option B ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Target Groups</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Priority 1: Non-pregnant women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Priority 2: Children between 1-14 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Priority 3: Routine <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> of children <1 year</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Pregnancy Advisory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Recipients advised not to become pregnant for 1 month after <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> as it increases the risk of <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> syndrome. <strong>(Option D ruled out)</strong></p>\n<p>But it is not an indication for <span class=\"customMeta\" data-dictid=\"eb06d1383216927771938c9eadb451\">MTP</span> if the woman does get pregnant within 1 month of vaccination</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SVLCH5A5u7UoDbAJDlKk1742757928.mp3", "video": ""}, {"text": "What is the primary goal of the \"Keep up\" strategy in the WHO measles and rubella elimination strategy?", "options": [{"label": "A", "text": "Conducting a nationwide vaccination campaign targeting all children born after the catch-up campaign", "correct": false}, {"label": "B", "text": "Ensuring routine services aimed at vaccinating more than 95% of each successive birth cohort", "correct": true}, {"label": "C", "text": "Targeting all children 9 months to 14 years of age, irrespective of history of measles disease", "correct": false}, {"label": "D", "text": "Conducting vaccination campaigns every 2-4 years", "correct": false}], "correct_answer": "B. Ensuring routine services aimed at vaccinating more than 95% of each successive birth cohort", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/MGfc103cEz13dinN2ywn1725280633.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:715px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>WHO <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> and <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> <span class=\"customMeta\" data-dictid=\"86c65ffa40169277718763f4072c2f\">elimination</span> strategy</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Catch up</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Nationwide <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> campaign <span class=\"customMeta\" data-dictid=\"e4865847fa169277720044d7b530b0\">targeting</span> all children 9 months to 14 years of age, irrespective of history of <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> disease or <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> status. <strong>(Option C ruled out)</strong></p>\n<p><strong>(Measles and <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> <span class=\"customMeta\" data-dictid=\"86c65ffa40169277718763f4072c2f\">elimination</span> campaign)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Keep up</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Routine services aimed at vaccinating more than 95% of each successive birth cohort. <strong>(Option B)</strong><strong>(Routine vaccination)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Follow up</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Subsequent nationwide <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> campaigns conducted every 2-4 years <span class=\"customMeta\" data-dictid=\"e4865847fa169277720044d7b530b0\">targeting</span> usually all children born after the catch-up campaign. <strong>(Option A and D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Global <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">Measles</span> & <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">Rubella</span> Strategic Framework (2021-2030)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>The aim for the 2021-2030 period is to \"attain and maintain the regional targets for <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> and <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> elimination.\"</li>\n<li>Integrate <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> and <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> activities into primary healthcare for universal health coverage.</li>\n<li>Enhance ownership and accountability for <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> and <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> targets and boost community <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> demand.</li>\n<li>Identify and address <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> gaps through healthcare contact points and targeted outreach to underserved communities.</li>\n<li>Adopt a life-course approach for second-dose delivery and integrate it with other health initiatives.</li>\n<li>Ensure outbreak preparedness for timely <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> and effective response.</li>\n<li>Maintain a reliable supply of vaccines, supplies, and reagents, and secure sustainable financing.</li>\n<li>Promote research and innovation to achieve high <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> and utilize quality disease and program data.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/cxrj95KLKgMGKxuETgs11742757771.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 20 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is the primary vector for transmitting the plague to humans?", "options": [{"label": "A", "text": "Anopheles spp.", "correct": false}, {"label": "B", "text": "Ixodes spp.", "correct": false}, {"label": "C", "text": "Xenopsylla cheopis", "correct": true}, {"label": "D", "text": "Pediculus humanus", "correct": false}], "correct_answer": "C. Xenopsylla cheopis", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/EpSAqEAp6a7Jj2m4syEh1725099528.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/WeaQ2QmPx05FwBgDXf8c1747226912.mp3", "video": ""}, {"text": "Which flea indices are considered the most significant for predicting plague outbreaks?", "options": [{"label": "A", "text": "Total flea index", "correct": false}, {"label": "B", "text": "Specific flea index", "correct": false}, {"label": "C", "text": "Cheopis index", "correct": true}, {"label": "D", "text": "Burrow index", "correct": false}], "correct_answer": "C. Cheopis index", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0s5NmdwUgvOuWqX4TTiS1747227072.mp3", "video": ""}, {"text": "Which of the following is considered the most effective method to break the transmission cycle of plague?", "options": [{"label": "A", "text": "Mass vaccination", "correct": false}, {"label": "B", "text": "Widespread use of antibiotics", "correct": false}, {"label": "C", "text": "Vector control", "correct": true}, {"label": "D", "text": "Quarantine of infected individuals", "correct": false}], "correct_answer": "C. Vector control", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RAmjHnZUzwgPXClH7TW11747227257.mp3", "video": ""}, {"text": "A 28-year-old pregnant woman at 20 weeks of gestation visits a PHC for her antenatal check-up. Her last tetanus vaccination was 12 years ago. According to the National Immunization Schedule of India, what is the most appropriate tetanus vaccination recommendation for this patient ?", "options": [{"label": "A", "text": "No vaccination is required as she received a TT dose 12 years ago", "correct": false}, {"label": "B", "text": "Administer one dose of Td vaccine immediately", "correct": false}, {"label": "C", "text": "Administer two doses of Td vaccine, 4 weeks apart", "correct": true}, {"label": "D", "text": "Administer three doses of TT vaccine at 0, 1, and 6 months", "correct": false}], "correct_answer": "C. Administer two doses of Td vaccine, 4 weeks apart", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:645px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Vaccine </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>When to give</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Dose </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Route </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Site </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Td-1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Early in pregnancy</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Upper Arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Td-2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">4 weeks after Td-1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Upper Arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Td- Booster</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">If received 2 Td doses in a pregnancy within the last 3 yrs</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Upper Arm</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dwhODmsg1qYn1AFnRBkQ1747163803.mp3", "video": ""}, {"text": "What is the most effective and efficient measure for preventing neonatal tetanus during delivery?", "options": [{"label": "A", "text": "Administering tetanus toxoid vaccine to the mother during pregnancy", "correct": false}, {"label": "B", "text": "Ensuring clean delivery practices, including the use of sterile instruments", "correct": true}, {"label": "C", "text": "Providing antibiotics to the newborn immediately after birth", "correct": false}, {"label": "D", "text": "Applying an antiseptic solution to the umbilical cord stump", "correct": false}], "correct_answer": "B. Ensuring clean delivery practices, including the use of sterile instruments", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6flQwf10Mt7SQecqvzc51747227473.mp3", "video": ""}, {"text": "A 35-year-old construction worker sustained a deep puncture wound on his foot while working at a site. He stepped on a rusty nail. He was immediately taken to the nearest clinic. He does not recall his last tetanus vaccination. Which of the following is the most appropriate immediate action to prevent tetanus in this patient ?", "options": [{"label": "A", "text": "Clean the wound with soap and water and administer the tetanus toxoid (TT) vaccine.", "correct": false}, {"label": "B", "text": "Clean the wound thoroughly, administer tetanus immunoglobulin (TIG), and give a tetanus toxoid (TT) booster.", "correct": true}, {"label": "C", "text": "Administer a course of antibiotics and advise him to keep the wound clean.", "correct": false}, {"label": "D", "text": "Clean the wound thoroughly, provide a tetanus toxoid (TT) booster", "correct": false}], "correct_answer": "B. Clean the wound thoroughly, administer tetanus immunoglobulin (TIG), and give a tetanus toxoid (TT) booster.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Clean wound</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Unclean wound</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category A</strong></p>\n<p style=\"text-align:center\">Has had a complete course of <span class=\"customMeta\" data-dictid=\"b895bf74681692777200571d1bd203\">toxoid</span> or a <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> dose (full immunization) within the past 5 years.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Only wound care.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Only wound care. <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category B</strong></p>\n<p style=\"text-align:center\">Full <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">immunization</span> > 5 years ago < 10 years.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Wound Care + TT single dose.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Wound Care + TT single dose. <strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category C</strong></p>\n<p style=\"text-align:center\">Full <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">Immunization</span> > 10 years ago.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Wound Care + TT single dose.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Wound Care + TT single dose + Human <span class=\"customMeta\" data-dictid=\"64dfe4fca51692777200a7ffbc44bb\">Tetanus</span> Immunoglobulin.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category D</strong></p>\n<p style=\"text-align:center\">Unknown, not known, never taken immunization.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Wound Care + TT complete</p>\n<p style=\"text-align:center\">course.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Wound Care + TT complete course + Human <span class=\"customMeta\" data-dictid=\"64dfe4fca51692777200a7ffbc44bb\">Tetanus</span> Immunoglobulin.</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/jhHSMqPb1U9rAbJzXtn51747227604.mp3", "video": ""}, {"text": "A 30-year-old woman visits the health clinic for a routine check-up. During the consultation, she mentioned her concern about HIV infection, as she recently learned that a close friend was diagnosed with HIV. She wants to understand the most efficient and most common routes of HIV transmission to protect herself better. Which of the following methods is the most efficient route of HIV transmission?", "options": [{"label": "A", "text": "Sexual route", "correct": false}, {"label": "B", "text": "Blood transfusion", "correct": true}, {"label": "C", "text": "Transplacental", "correct": false}, {"label": "D", "text": "Needle prick injury", "correct": false}], "correct_answer": "B. Blood transfusion", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:642px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Route of Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Prevalence</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Efficiency of the Route</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Sexual route</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>87 - 90% of the cases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0.01 - 1%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Blood Transfusion</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><1% of the cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">>95%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Sharing needles and syringes</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">1% of the total cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">5-10%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Needle <span class=\"customMeta\" data-dictid=\"3cb00f13ee1692777196d9d02a760d\">prick</span> injury</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><1% cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0.3%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Mother-to-child transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">5% of the total cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">25 -30%</p>\n<p style=\"text-align:center\">30% for developing countries</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3Q2AVBaDEBPyEgT5ZL1m1747241922.mp3", "video": ""}, {"text": "Which of the following diseases cannot be prevented by both active and passive immunization?", "options": [{"label": "A", "text": "Rabies", "correct": false}, {"label": "B", "text": "Diphtheria", "correct": false}, {"label": "C", "text": "Tetanus", "correct": false}, {"label": "D", "text": "Plague", "correct": true}], "correct_answer": "D. Plague", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/J8Ow0m1wK6XuKupRKfnL1747227832.mp3", "video": ""}, {"text": "Which of the following is not considered a high-risk group for HIV infection?", "options": [{"label": "A", "text": "Pregnant female", "correct": true}, {"label": "B", "text": "Men who have sex with men (MSM)", "correct": false}, {"label": "C", "text": "Injection drug users (IDUs)", "correct": false}, {"label": "D", "text": "Multiple transfusion recipients", "correct": false}], "correct_answer": "A. Pregnant female", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BbSH7CIk7LLJyBSF8Sip1747242054.mp3", "video": ""}, {"text": "A 28-year-old man presents to the clinic with a fever, sore throat, rash, and generalised lymphadenopathy. He mentions that he has multiple sexual partners, and he uses condoms inconsistently. Based on the scenario, in which clinical stage of HIV infection is this patient most likely?", "options": [{"label": "A", "text": "Asymptomatic carrier state", "correct": false}, {"label": "B", "text": "Acute infection", "correct": true}, {"label": "C", "text": "AIDS-related complex", "correct": false}, {"label": "D", "text": "AIDS", "correct": false}], "correct_answer": "B. Acute infection", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:686px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:213px\">\n<p style=\"text-align:center\"><strong>Stage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:520px\">\n<p style=\"text-align:center\"><strong>Features</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:213px\">\n<p style=\"text-align:center\"><strong>Initial Infection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:520px\">\n<ul>\n<li>Occurs after initial infection with HIV.</li>\n<li>Mild symptoms: <strong>fever, <span class=\"customMeta\" data-dictid=\"0d8cd9c1b516927771981287d4850f\">sore</span> throat, rash, and generalized <span class=\"customMeta\" data-dictid=\"344bcb4e391692777191307c1e0074\">lymphadenopathy</span> (infectious mononucleosis-like illness)</strong>; May remain asymptomatic.</li>\n<li>Antibodies appear within 2-12 weeks of infection.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:213px\">\n<p style=\"text-align:center\"><strong>Asymptomatic carrier state</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:520px\">\n<p style=\"text-align:center\"><strong>No obvious signs</strong> of illness except for persistent generalized lymphadenopathy.(<strong>Option A</strong>)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:213px\">\n<p style=\"text-align:center\"><strong>AIDS-Related Complex (ARC)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:520px\">\n<ul>\n<li>Symptoms: prolonged diarrhea, fatigue, significant weight loss (>10% body weight).</li>\n<li>Mild <span class=\"customMeta\" data-dictid=\"5204097a961692777194904909b6fe\">opportunistic</span> infections like oral <span class=\"customMeta\" data-dictid=\"386085916516927772004401adcb6d\">thrush</span> can occur.</li>\n<li>The number of T-helper lymphocytes decreases but does not meet the criteria for AIDS. (<strong>Option C</strong>)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:213px\">\n<p style=\"text-align:center\"><strong>Acquired <span class=\"customMeta\" data-dictid=\"141d29cc7f16927771890a8e0860e6\">immunodeficiency</span> syndrome (AIDS)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:520px\">\n<ul>\n<li>Advanced stage of <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> infection - severe immune deficiency</li>\n<li>Opportunistic infections can occur(AIDS defining illnesses can occur) (<strong>Option D)</strong>\n<ul>\n<li>Tuberculosis</li>\n<li>Kaposi's sarcoma</li>\n<li>Fungal infections (e.g. Candida, Cryptococcus, <span class=\"customMeta\" data-dictid=\"af71e1cffa16927771950a5fb2c281\">Pneumocystis</span> pneumonia)</li>\n<li>Parasitic infections (e.g. <span class=\"customMeta\" data-dictid=\"aa4b5212fe16927772001223fd8a24\">Toxoplasma</span> encephalitis)</li>\n</ul>\n</li>\n</ul>\n<ul>\n<li>They can also develop <span class=\"customMeta\" data-dictid=\"9971eacaaf1692777202d2ece15a2a\">wasting</span> syndrome, chronic diarrhea, and AIDS dementia.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/p6YcIepYdNYEje7mASL01747242223.mp3", "video": ""}, {"text": "Match the following rickettsial diseases with their vector Rickettsial disease Vector 1. Scrub typhus a. Rat flea 2. Epidemic typhus b. Trombiculid mite 3. Endemic typhus c. Tick 4. Rocky Mountain spotted fever d. Louse", "options": [{"label": "A", "text": "1-c, 2-a, 3-b, 4-d", "correct": false}, {"label": "B", "text": "1-b, 2-d, 3-a, 4-c", "correct": true}, {"label": "C", "text": "1-b, 2-a, 3-d, 4-c", "correct": false}, {"label": "D", "text": "1-c, 2-d, 3-a, 4-b", "correct": false}], "correct_answer": "B. 1-b, 2-d, 3-a, 4-c", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/VaXIFra2uUhx02tn7blY1734003113.png", "https://image.prepladder.com/content/fUNWEkAJKaBLOg0Ha0RN1734003206.png", "https://image.prepladder.com/content/e4BVIuUsG7BN1QXvX1sv1734003308.png", "https://image.prepladder.com/content/DEyiVvDemFmtXP7I1T1E1734003398.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:721px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Rickettsial disease </strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Vector</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Mode of transmission </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>the bite of an infected <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Inoculation of feces/crushed tissue of <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Inhalation of dried <span class=\"customMeta\" data-dictid=\"802328b229169277719000601489eb\">infective</span> <span class=\"customMeta\" data-dictid=\"7f789a76331692777202a90df3adb4\">feces</span> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Scrub <span class=\"customMeta\" data-dictid=\"2b3121f9de1692777201f8f08c152e\">typhus</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Vector - <strong>Trombiculid mite</strong> (Leptotrombidium delinese)</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Sedhain, Arun & Bhattarai, Gandhi. \" data-hash=\"\" data-license=\"CC BY NC SA 3.0\" data-source=\"https://www.researchgate.net/figure/Chigger-larva-of-trombiculid-mite_fig1_319060371\" data-tags=\"\" height=\"4167\" src=\"https://image.prepladder.com/content/VaXIFra2uUhx02tn7blY1734003113.png\" width=\"3910\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✔</p>\n<p style=\"text-align:center\">Larval stages (chigger) only</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✖</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✖</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Epidemic typhus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Vector - <strong>Louse </strong>(Pediculus corporis and P capitis)</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Janice Harney Carr, Center for Disease Control\" data-hash=\"\" data-license=\"OPEN ACCESS\" data-source=\"https://en.wikipedia.org/wiki/Body_louse#/media/File:Body_lice.jpg\" data-tags=\"\" height=\"4167\" src=\"https://image.prepladder.com/content/fUNWEkAJKaBLOg0Ha0RN1734003206.png\" width=\"3146\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✖</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✔</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✔</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Endemic typhus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Vector - <strong>Rat <span class=\"customMeta\" data-dictid=\"173a38842916927772025c562c498b\">flea</span> </strong>(X. cheopis)</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Olha Schedrina / The Natural History Museum \" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://en.wikipedia.org/wiki/Oriental_rat_flea#/media/File:NHMUK010177265_The_plague_flea_-_Xenopsylla_cheopis_cheopis_(Rothschild,_1903).jpg\" data-tags=\"\" height=\"3799\" src=\"https://image.prepladder.com/content/e4BVIuUsG7BN1QXvX1sv1734003308.png\" width=\"4167\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✖</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✔</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✔</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Rocky Mountain spotted fever</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Vector - <strong>Ticks</strong> (Rhipicephalus, Ixodes, Boophilus, Haemaphysalis)</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Scott Bauer.\" data-hash=\"\" data-license=\"OPEN ACCESS\" data-source=\"https://en.wikipedia.org/wiki/Ixodes_scapularis#/media/File:Adult_deer_tick.jpg\" data-tags=\"\" height=\"4167\" src=\"https://image.prepladder.com/content/DEyiVvDemFmtXP7I1T1E1734003398.png\" width=\"3089\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✔</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✔</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">✖</p>\n</td>\n</tr>\n</tbody>\n\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:592px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:145px\">\n<p style=\"text-align:center\"><strong>Rickettsial disease </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:447px\">\n<p style=\"text-align:center\"><strong>Vector</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:145px\">\n<p style=\"text-align:center\"><strong>Scrub typhus </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:447px\">\n<p style=\"text-align:center\"><strong>Trombiculid mite</strong> (Leptotrombidium delinese and L.akamushi)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:145px\">\n<p style=\"text-align:center\"><strong>Epidemic typhus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:447px\">\n<p style=\"text-align:center\"><strong>Louse </strong>(Pediculus corporis and P capitis)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:145px\">\n<p style=\"text-align:center\"><strong>Endemic typhus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:447px\">\n<p style=\"text-align:center\"><strong>Rat <span class=\"customMeta\" data-dictid=\"173a38842916927772025c562c498b\">flea</span> </strong>(X. cheopis)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:145px\">\n<p style=\"text-align:center\"><strong>Rocky Mountain spotted fever</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:447px\">\n<p style=\"text-align:center\"><strong>Ticks</strong> (Rhipicephalus, Ixodes, Boophilus, Haemaphysalis)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CjePNl8OmMcRm1IFnMyj1747242370.mp3", "video": ""}, {"text": "A public health team is investigating an outbreak of a viral hemorrhagic fever in a remote village. Several villagers are experiencing severe symptoms, including fever, vomiting, diarrhoea, and unexplained bleeding. The investigation reveals that the initial patients had contact with wild animals in the nearby forest. What is the primary natural reservoir for this virus in this scenario?", "options": [{"label": "A", "text": "Monkey", "correct": false}, {"label": "B", "text": "Cattle", "correct": false}, {"label": "C", "text": "Bats", "correct": true}, {"label": "D", "text": "Pigs", "correct": false}], "correct_answer": "C. Bats", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/iWcRiyD0Fn6vmuAaL6IR1725100529.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:682px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Ebola virus </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Nipah virus</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Natural reservoir</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Bats</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Bats</strong></p>\n<p style=\"text-align:center\">Bats → Pigs → Humans</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Modes of transmission </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Bat bites</strong></li>\n<li>Body<strong> secretion</strong> (blood, urine, faeces, seminal fluid)</li>\n<li><strong>Sexual</strong> route</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Direct contact with infected animals</li>\n<li>Body <span class=\"customMeta\" data-dictid=\"9b0ae3750916927771986c15d4ff4d\">secretion</span> (blood, urine, faeces, seminal fluid)</li>\n<li>Consumption of contaminated food products (palm <span class=\"customMeta\" data-dictid=\"8beb46e52516927771989c115d47b5\">sap</span> or fruits)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Incubation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2 to 21 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">4-14 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Clinical features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Fever,</strong> chills, myalgia, diarrhea, <strong>bleeding, and multi-organ failure</strong> (case fatality rate- 50 to 90%)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Fever, chills, headache</p>\n<p style=\"text-align:center\">Encephalitis, <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> <span class=\"customMeta\" data-dictid=\"afafb9026e1692777186e3dd168fa8\">distress</span> syndrome</p>\n<p style=\"text-align:center\">Multiorgan failure, GIT <span class=\"customMeta\" data-dictid=\"4642acfc0c16927771880b34fa5174\">hemorrhage</span> (case fatality rate- 40-70%)</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/IgK6rWp4EzAfuKxX6kqq1747242780.mp3", "video": ""}, {"text": "All of the following pathogens are category A bioterrorism agents, except?", "options": [{"label": "A", "text": "Ebola virus", "correct": false}, {"label": "B", "text": "Bacillus anthracis", "correct": false}, {"label": "C", "text": "Nipah virus", "correct": true}, {"label": "D", "text": "Francisella tularensis", "correct": false}], "correct_answer": "C. Nipah virus", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:761px\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category B</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category C</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Priority</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">High-priority agents posing a risk to national security</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Second highest priority</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Third highest priority with emerging pathogens</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>The reason they are classified into the respective categories:</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Easily <span class=\"customMeta\" data-dictid=\"f4006059f916927771865569d4da7d\">disseminated</span> in the environment</li>\n<li>High mortality risk</li>\n<li>Cause public panic and social disruption</li>\n<li>Requires special action for <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> preparedness</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Moderately easy to disseminate.</li>\n<li>Moderate <span class=\"customMeta\" data-dictid=\"9b7604d5461692777192546af7cabd\">morbidity</span> risk.</li>\n<li>Requires enhanced disease surveillance.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>It can be engineered for mass dissemination in the future.</li>\n<li>It has the potential for high mortality and morbidity.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Examples:</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Bacillus anthracis - <span class=\"customMeta\" data-dictid=\"00f05eda23169277718196fcb2f71f\">Anthrax</span> <strong>(Option B)</strong></li>\n<li>Francisella tularensis - Tularemia<strong> (Option D)</strong></li>\n<li>Clostridium botulinum - Botulism</li>\n<li>Yersinia <span class=\"customMeta\" data-dictid=\"1db39f708f16927771954d003af865\">pestis</span> - Bubonic plague</li>\n<li>Ebola virus - Ebola hemorrhagic fever <strong>(Option A)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Clostridium perfringens - <span class=\"customMeta\" data-dictid=\"101f5ea2741692777187173286abbb\">epsilon</span> toxin</li>\n<li>Cryptosporidium parvum</li>\n<li>Escherichia <span class=\"customMeta\" data-dictid=\"cd0a7121a516927771846d8f5248bb\">coli</span> (O157:H7)</li>\n<li>Shigella dysenteriae</li>\n<li>Salmonella</li>\n<li>Vibrio cholera</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Hantavirus</li>\n<li>MDR-tuberculosis</li>\n<li><strong>Nipah Virus</strong></li>\n<li>Yellow fever</li>\n<li>Tick-borne <span class=\"customMeta\" data-dictid=\"9644652a1f16927771873765457fcc\">encephalitis</span> /hemorrhagic fever</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/v6lP4VmBmjSwByJWgRnf1747242503.mp3", "video": ""}, {"text": "A 35-year-old man from a rural area in Kerala visits the clinic with symptoms of fever, headache, dizziness, and respiratory problems. He mentions that he has also been experiencing muscle pain and nausea for the past few days. On examination, the patient exhibits signs of encephalitis. Based on the scenario, what is the likely incubation period for this viral infection?", "options": [{"label": "A", "text": "2 to 7 days", "correct": false}, {"label": "B", "text": "2 to 21 days", "correct": false}, {"label": "C", "text": "10 to 12 days", "correct": false}, {"label": "D", "text": "4 to 14 days", "correct": true}], "correct_answer": "D. 4 to 14 days", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:529px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Incubation Period</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Ebola virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2-21 days <strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Zika virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2-7 days <strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Nipah</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">4-14 days<strong> (Option D)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Scrub Typhus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">10-12 days <strong>(Option C)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/cHoIcv8A7REC2cSNzs9H1747242633.mp3", "video": ""}, {"text": "A public health officer is investigating an outbreak of a viral illness in a tropical region. The affected individuals present with symptoms such as fever, maculopapular skin rash, conjunctivitis, and joint pain. The officer needs to identify the primary vector responsible for the transmission of the virus to implement effective control measures. Which vector is primarily responsible for transmitting the virus?", "options": [{"label": "A", "text": "Anopheles mosquito", "correct": false}, {"label": "B", "text": "Culex mosquito", "correct": false}, {"label": "C", "text": "Aedes aegypti mosquito", "correct": true}, {"label": "D", "text": "Ixodes tick", "correct": false}], "correct_answer": "C. Aedes aegypti mosquito", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ijDpJFUeN6jq6EttX1pQ1747242906.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "In the context of polio in India, which of the following statements is correct regarding the different types of poliovirus (Type 1, Type 2, and Type 3)?", "options": [{"label": "A", "text": "India has successfully eradicated Type 1, but Type 2 and Type 3 still remain a threat.", "correct": false}, {"label": "B", "text": "Type 2 poliovirus has been eradicated globally, and India is free from both Type 2 and Type 3 poliovirus, with efforts ongoing to eradicate Type 1.", "correct": false}, {"label": "C", "text": "All three types of poliovirus are still prevalent in India, requiring continued vaccination efforts.", "correct": false}, {"label": "D", "text": "World Health Organization declared India polio-free in 2014, and no Type 1, Type 2, or Type 3 poliovirus cases have been reported.", "correct": true}], "correct_answer": "D. World Health Organization declared India polio-free in 2014, and no Type 1, Type 2, or Type 3 poliovirus cases have been reported.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/npGC05ClaD3BY7jDrYEu1725087538.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Al6c225K7aK2ueuYJamR1742813847.mp3", "video": ""}, {"text": "Which of the following accurately describes the differences between the Oral Polio Vaccine (OPV) and the Inactivated Polio Vaccine (IPV)?", "options": [{"label": "A", "text": "OPV is a killed formalized virus vaccine administered subcutaneously, while IPV is a live attenuated virus vaccine taken orally.", "correct": false}, {"label": "B", "text": "OPV provides both humoral and intestinal immunity and is effective in controlling epidemics, while IPV provides only humoral immunity and is not useful in controlling epidemics.", "correct": true}, {"label": "C", "text": "OPV requires less stringent storage and transport conditions compared to IPV.", "correct": false}, {"label": "D", "text": "Both OPV and IPV have the same shelf life and risk of vaccine-associated paralytic poliomyelitis (VAPP).", "correct": false}], "correct_answer": "B. OPV provides both humoral and intestinal immunity and is effective in controlling epidemics, while IPV provides only humoral immunity and is not useful in controlling epidemics.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Characteristic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>OPV (Sabin)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>IPV (Salk)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Type of Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Live attenuated virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Killed (inactivated) virus</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Mode of Administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Intramuscular (IM) or <span class=\"customMeta\" data-dictid=\"d446e62c6c1692777199896fc1d4b9\">Subcutaneous</span> (SC)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Type of Immunity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Humoral + Intestinal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Humoral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Prevention of</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Paralysis + Intestinal re-infection</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Paralysis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Control of Epidemics</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Effective</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Less effective</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Storage, Transport & Shelf Life</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Requires sub-zero temperatures, Shorter shelf life</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Less stringent conditions, Longer shelf life</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Vaccine-Associated <span class=\"customMeta\" data-dictid=\"14bba9af561692777194c8cadacf13\">Paralytic</span> <span class=\"customMeta\" data-dictid=\"f458f23b33169277719623f2ad5bcd\">Poliomyelitis</span> (VAPP)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">1 per 2.7 million first doses (higher in subsequent doses)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Zero incidences</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/g57gUrNDWb0wuMrhtMZW1742813649.mp3", "video": ""}, {"text": "Which of the following statements accurately differentiates between OPV and IPV in terms of their composition and the measurement of vaccine strength?", "options": [{"label": "A", "text": "OPV contains live attenuated poliovirus, and the quantity of antigen per dose measures its strength. IPV contains killed poliovirus, and the potency of the live virus measures its strength.", "correct": false}, {"label": "B", "text": "OPV contains killed poliovirus, and its strength is measured by the quantity of antigen per dose. IPV contains live attenuated poliovirus, and the potency of the live virus measures its strength.", "correct": false}, {"label": "C", "text": "OPV contains live attenuated poliovirus, and the potency of the live virus measures its strength. IPV contains killed poliovirus, and the quantity of antigen per dose measures its strength.", "correct": true}, {"label": "D", "text": "OPV and IPV both contain live attenuated poliovirus, and their strengths are measured by the quantity of antigen per dose.", "correct": false}], "correct_answer": "C. OPV contains live attenuated poliovirus, and the potency of the live virus measures its strength. IPV contains killed poliovirus, and the quantity of antigen per dose measures its strength.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/cr9MugOq0MERXsJQ9EWh1725087738.png", "https://image.prepladder.com/content/R0j5NhCXfdIBk2eG44Zj1725087770.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/a5TeWGEJPglXbIh801Gf1742813464.mp3", "video": ""}, {"text": "Which of the following Hepatitis B virus (HBV) markers is correctly paired with its significance?", "options": [{"label": "A", "text": "HBsAg + HBeAg + IgM - Indicates acute infection with high infectivity", "correct": true}, {"label": "B", "text": "HBsAg + HBeAg + IgG- Indicates acute infection in recovery phase", "correct": false}, {"label": "C", "text": "Anti-HBc only - Indicates immunity due to vaccination", "correct": false}, {"label": "D", "text": "Anti-HBs + HBeAg + IgG - Indicates recovery from infection in recent past", "correct": false}], "correct_answer": "A. HBsAg + HBeAg + IgM - Indicates acute infection with high infectivity", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:667px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Marker</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Indicates</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HBsAg (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Active <span class=\"customMeta\" data-dictid=\"b85d24394e1692777188090f0084ef\">HBV</span> infection, either <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> or chronic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HBsAb (anti-HBs) (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Immunity to <span class=\"customMeta\" data-dictid=\"b85d24394e1692777188090f0084ef\">HBV</span> (recovery and subsequent <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> to past infection or vaccination) - last to appear</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HBcAg</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">The most accurate index of active <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> replication</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HBcAb <span class=\"customMeta\" data-dictid=\"e4a6fd7fbb169277718986a699e800\">IgM</span> (anti-HBc IgM) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Acute <span class=\"customMeta\" data-dictid=\"b85d24394e1692777188090f0084ef\">HBV</span> infection</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HBcAb <span class=\"customMeta\" data-dictid=\"2d9b37c62116927771891f3784d2c8\">IgG</span> (anti-HBc IgG) (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Past or chronic <span class=\"customMeta\" data-dictid=\"b85d24394e1692777188090f0084ef\">HBV</span> infection</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HBeAg (Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Active <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> <span class=\"customMeta\" data-dictid=\"3e05409f651692777197645882d8a2\">replication</span> and high infectivity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HBeAb (anti-HBe)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Seroconversion, usually in chronic infection, and lower infectivity</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:760px\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>HbsAg</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Anti-HBs</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>HBeAg</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Anti-HBe</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Anti-HBc</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>HBV DNA</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Acute HBV</strong></p>\n<p style=\"text-align: center;\"><strong>High <span class=\"customMeta\" data-dictid=\"4a221e3c0a1692777190dc3efa5207\">infectivity</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>IgM</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+++</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Acute HBV</strong></p>\n<p style=\"text-align: center;\"><strong>Window phase </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>IgM</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Acute HBV</strong></p>\n<p style=\"text-align: center;\"><strong>Recovery phase </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>IgG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+/-</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Chronic HBV</strong></p>\n<p style=\"text-align: center;\"><strong>High <span class=\"customMeta\" data-dictid=\"4a221e3c0a1692777190dc3efa5207\">infectivity</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>IgG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+++</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Chronic HBV</strong></p>\n<p style=\"text-align: center;\"><strong>Low <span class=\"customMeta\" data-dictid=\"4a221e3c0a1692777190dc3efa5207\">infectivity</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>IgG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>HBV infection in recent past </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>IgG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>HBV infection in remote past </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+/-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>IgG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Immunization </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>+</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>-</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wCfvV0R7MWyy4S0ZqZMu1742812723.mp3", "video": ""}, {"text": "Which of the following correctly represents the composition of the new reduced osmolarity Oral Rehydration Solution (ORS)?", "options": [{"label": "A", "text": "Sodium: 75 mmol/L, Glucose: 75 mmol/L, Potassium: 20 mmol/L, Chloride: 65 mmol/L, Citrate: 10 mmol/L, Total Osmolarity: 245 mOsm/L", "correct": true}, {"label": "B", "text": "Sodium: 70 mmol/L, Glucose: 70 mmol/L, Potassium: 25 mmol/L, Chloride: 65 mmol/L, Citrate: 15 mmol/L, Total Osmolarity: 245 mOsm/L", "correct": false}, {"label": "C", "text": "Sodium: 75 mmol/L, Glucose: 75 mmol/L, Potassium: 20 mmol/L, Chloride: 60 mmol/L, Citrate: 15 mmol/L, Total Osmolarity: 245 mOsm/L", "correct": false}, {"label": "D", "text": "Sodium: 70 mmol/L, Glucose: 70 mmol/L, Potassium: 20 mmol/L, Chloride: 60 mmol/L, Citrate: 10 mmol/L, Total Osmolarity: 230 mOsm/L", "correct": false}], "correct_answer": "A. Sodium: 75 mmol/L, Glucose: 75 mmol/L, Potassium: 20 mmol/L, Chloride: 65 mmol/L, Citrate: 10 mmol/L, Total Osmolarity: 245 mOsm/L", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:427px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>mmol/L</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Sodium</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">75</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Chloride</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">65</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Glucose anhydrous</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">75</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Potassium</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">20</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Citrate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">10</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Total osmolarity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">245</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:430px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Substance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Weight (g/L)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Sodium chloride</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2.6</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Glucose, anhydrous</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">13.5</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Potassium chloride</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">1.5</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Trisodium citrate, dihydrate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2.9</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Total weight</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">20.5</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/GLooI7XOR8uDvIP3Fn8X1742813329.mp3", "video": ""}, {"text": "Which of the following is an additional ion present in ReSoMal?", "options": [{"label": "A", "text": "Sodium", "correct": false}, {"label": "B", "text": "Calcium", "correct": false}, {"label": "C", "text": "Potassium", "correct": false}, {"label": "D", "text": "Magnesium", "correct": true}], "correct_answer": "D. Magnesium", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:469px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>ReSoMal</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Standard ORS</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Sodium</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">45</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">90</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Potassium</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">40</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">20</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Chloride</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">70</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">80</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Citrate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">7</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">10</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Magnesium</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Zinc</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0.3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Copper</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">0.045</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Glucose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">125</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">111</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Osmolarity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>300</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>311</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xsDthXRsLKc4nt5mapSa1742812541.mp3", "video": ""}, {"text": "Which of the following statements is false regarding Super ORS?", "options": [{"label": "A", "text": "Super ORS instead of mono sugars, is based on complex sugars such as rice or amino acids like glycine or alanine.", "correct": false}, {"label": "B", "text": "It provides more calories (180 kcal/L) and is intended to cause weight gain in the malnourished.", "correct": false}, {"label": "C", "text": "Super ORS has a long shelf life and can be prepared once a week.", "correct": true}, {"label": "D", "text": "It helps reduce stool output, the frequency of stools, and the duration of diarrhea.", "correct": false}], "correct_answer": "C. Super ORS has a long shelf life and can be prepared once a week.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Disadvantages</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Provides rehydration</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Short shelf life (< 10 hours)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Reduces <span class=\"customMeta\" data-dictid=\"44335bb8bf1692777199a956cb31bf\">stool</span> output</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Needs to be prepared freshly 2-3 times a day</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Reduces frequency of stools</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Reduces duration of diarrhea</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Provides 180 kcal/L, contributing towards weight gain</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Useful for malnourished children</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Nr8jrlA90YxekYY1ALtX1747160423.mp3", "video": ""}, {"text": "Which of the following statements is incorrect regarding the components of Oral Rehydration Solution (ORS)?", "options": [{"label": "A", "text": "The glucose dependent sodium and water absorption is the principle behind replacing glucose and sodium in 1:1 molar ratio in the WHO-ORS.", "correct": false}, {"label": "B", "text": "Potassium improves the absorption of sodium and water by enhancing concentration gradient for sodium.", "correct": true}, {"label": "C", "text": "Trisodium citrate improves the shelf life of ORS, making it more stable.", "correct": false}, {"label": "D", "text": "Trisodium citrate reduces stool output by 25% and enhances sodium and water absorption.", "correct": false}], "correct_answer": "B. Potassium improves the absorption of sodium and water by enhancing concentration gradient for sodium.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Role</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Glucose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Allows intestines to absorb sodium, dragging water into intestinal cells and the body for rehydration.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Potassium</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Replaces essential ions lost during <span class=\"customMeta\" data-dictid=\"aaabe672c51692777186a829ebdc0c\">diarrhea</span> and vomiting, helping to maintain <span class=\"customMeta\" data-dictid=\"2e0552462e16927771871413861fb7\">electrolyte</span> balance.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Trisodium Citrate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>It improves the shelf life of ORS, making it more stable.</li>\n<li>Helps reduce <span class=\"customMeta\" data-dictid=\"44335bb8bf1692777199a956cb31bf\">stool</span> output by 25%.</li>\n<li>Enhances <span class=\"customMeta\" data-dictid=\"5fcb9396d1169277718069dd7fa788\">absorption</span> of sodium and water.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Sodium Chloride</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>It provides the necessary sodium to help absorb water and maintain fluid balance.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/YdQ0pHrhrkCZkmrH6W5m1742812231.mp3", "video": ""}, {"text": "A 2-year-old child presents with 2-3 episodes of diarrhea and on examination for skin returns quickly when pinched, there is no excessive thirst or refusal to drink fluids and the child accepts fluids or food orally without any difficulty. Which of the following management steps is incorrect for treating the child at home concerning the clinical symptoms?", "options": [{"label": "A", "text": "Counsel the mother to give extra fluids and continue feeding.", "correct": false}, {"label": "B", "text": "Provide frequent small sips of 50-100 ml of fluid after each loose stool.", "correct": false}, {"label": "C", "text": "Mandatory administration of ORS solution every 2 hours to prevent signs and symptoms of dehydration.", "correct": true}, {"label": "D", "text": "Give zinc supplementation of 20mg for 14 days.", "correct": false}], "correct_answer": "C. Mandatory administration of ORS solution every 2 hours to prevent signs and symptoms of dehydration.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:639px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Plan</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Criteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Management Steps</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Mild diarrhea, no dehydration</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Counsel the mother to give extra fluids, continue feeding, give <span class=\"customMeta\" data-dictid=\"39ecb6e07416927772029550b7e74a\">zinc</span> supplements, follow up.</li>\n<li>Fluids: Small sips (50-100 ml after each loose <span class=\"customMeta\" data-dictid=\"44335bb8bf1692777199a956cb31bf\">stool</span> for children up to 2 years, 100-200 ml for children over 2 years).</li>\n<li>Zinc: 20 mg tab for two months to 5 years (dissolve in breast milk or <span class=\"customMeta\" data-dictid=\"dba8ab2e8416927771945fed398293\">ORS</span> for infants).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>B</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Moderate dehydration</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Administer <span class=\"customMeta\" data-dictid=\"dba8ab2e8416927771945fed398293\">ORS</span> in a clinical setting: Amount based on weight and age (e.g., 450-800 ml for children 6-10 kg).</li>\n<li>Reassess <span class=\"customMeta\" data-dictid=\"a195b609f61692777189953f3adaa6\">hydration</span> status after 4 hours.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>C</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Severe dehydration</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>If possible, provide immediate IV fluids; otherwise, start <span class=\"customMeta\" data-dictid=\"dba8ab2e8416927771945fed398293\">ORS</span> by mouth while setting up the IV. The <span class=\"customMeta\" data-dictid=\"b5bd69c9791692777186a40f45ffb6\">dosage</span> is 100 ml/kg Ringer's <span class=\"customMeta\" data-dictid=\"5a751dc161169277719123aae1b764\">Lactate</span> or <span class=\"customMeta\" data-dictid=\"ab6984f43316927771937ff19f3807\">normal saline</span> over 1-5 hours, depending on the patient's age.</li>\n<li>Reassess every 1-2 hours, switch to <span class=\"customMeta\" data-dictid=\"dba8ab2e8416927771945fed398293\">ORS</span> as the child stabilizes, and continue monitoring and using the appropriate <span class=\"customMeta\" data-dictid=\"a195b609f61692777189953f3adaa6\">hydration</span> method (IV/NG/ORS).</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/hClzJbExAVvJK1IynD911747160601.mp3", "video": ""}, {"text": "Which of the following statements is incorrect regarding cholera?", "options": [{"label": "A", "text": "The predominant serotype of cholera in India is the El Tor biotype of Vibrio cholerae O1.", "correct": false}, {"label": "B", "text": "holera is no longer a notifiable disease locally and nationally, but remains notifiable internationally.", "correct": false}, {"label": "C", "text": "The oral cholera vaccine Dukoral includes a recombinant cholera toxin B subunit and is suitable for children under two years.", "correct": true}, {"label": "D", "text": "Shanchol and mORCVAX are oral cholera vaccines based on serogroups O1 and O139, used for individuals over 1 year of age.", "correct": false}], "correct_answer": "C. The oral cholera vaccine Dukoral includes a recombinant cholera toxin B subunit and is suitable for children under two years.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contains</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Age Group</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Notes</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dukoral</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Killed <em>V. cholerae</em> O1 + <span class=\"customMeta\" data-dictid=\"b566321fe8169277719716b1cf4df0\">recombinant</span> B subunit</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>≥2 years</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires buffer; provides short-term protection</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Shanchol</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Killed <em>V. cholerae</em> O1 and O139</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>≥1 year</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used in endemic/outbreak settings</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>mORCVAX</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Killed <em>V. cholerae</em> O1 and O139</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>≥1 year</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Similar to Shanchol</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BJpBzUnRt1iGywkTEosf1742811016.mp3", "video": ""}, {"text": "A 7-year-old child presents with fever, abdominal pain, and a rash. Blood cultures confirm typhoid fever. The pediatrician discusses vaccination for family members for future typhoid prevention. Which of the following statements about typhoid vaccines is incorrect?", "options": [{"label": "A", "text": "Ty21a is a live vaccine administered orally and recommended for individuals over 5 years old.", "correct": false}, {"label": "B", "text": "The Vi polysaccharide vaccine is a killed vaccine given subcutaneously or intramuscularly, suitable for children over 2 years old.", "correct": false}, {"label": "C", "text": "Ty21a requires a single dose shot that is repeated every 3 years.", "correct": true}, {"label": "D", "text": "The Vi polysaccharide vaccine does not elicit adequate immune responses in children aged less than 2 years.", "correct": false}], "correct_answer": "C. Ty21a requires a single dose shot that is repeated every 3 years.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:643px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Ty21a Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Vi <span class=\"customMeta\" data-dictid=\"aea912322316927771960b320d4f65\">Polysaccharide</span> Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Typhoid <span class=\"customMeta\" data-dictid=\"2421c657771692777185af1b7b59c3\">conjugate</span> vaccine </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Live-attenuated vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Killed (inactivated) vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inactivated (killed) vaccine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Route of Administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Subcutaneous/Intramuscular</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\">\n<p>Intramuscular </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Age Recommendation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">>5 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">>2 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>>6 months</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Dosage Regimen</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">3-dose <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">regimen</span> (1, 3, 5 days), repeated every 3 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Single dose, repeated every 3 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Single dose</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Immunity Development</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Develops after 7 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Develops after 7 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">Develops after 7 days and high seroconversion by 4 weeks</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Effectiveness in Young Children</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Not recommended for children under 5 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Does not elicit adequate <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> in children <2 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">Not recommended for children below 6 months </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/hXY61j0pfbMcaDXHcaaT1742811383.mp3", "video": ""}, {"text": "Which of the following statements is false regarding typhoid?", "options": [{"label": "A", "text": "Typhoid is endemic in India.", "correct": false}, {"label": "B", "text": "Man is the only reservoir for typhoid infection.", "correct": false}, {"label": "C", "text": "Diagnosis of typhoid includes blood culture in the 1st week, Widal test in the 2nd week, and fecal and urine cultures in the 3rd and 4th weeks.", "correct": false}, {"label": "D", "text": "Somatic O Antigen is higher in the post-vaccination phase, and Flagellar H Antigen is higher in the post-infection phase.", "correct": true}], "correct_answer": "D. Somatic O Antigen is higher in the post-vaccination phase, and Flagellar H Antigen is higher in the post-infection phase.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Epidemiological Data</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Typhoid is <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> in India. The <span class=\"customMeta\" data-dictid=\"f616aee08b169277718361438e1a91\">causative</span> agent is <span class=\"customMeta\" data-dictid=\"361c327ab81692777198a1cd507e57\">Salmonella</span> typhi. <strong>(Option A)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Reservoir</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Man is the only <span class=\"customMeta\" data-dictid=\"8dcd2c17c316927771973b713c858f\">reservoir</span> for <span class=\"customMeta\" data-dictid=\"f2f6f9068216927772016cacf26183\">typhoid</span> infection. <strong>(Option B)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Sources of Infection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Primary: <span class=\"customMeta\" data-dictid=\"7f789a76331692777202a90df3adb4\">Feces</span> > Urine</li>\n<li>Secondary: Contaminated water, food, fingers, fomites.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Carriers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Convalescent carriers: <span class=\"customMeta\" data-dictid=\"350d30aa5316927771874442f8874c\">Excrete</span> <span class=\"customMeta\" data-dictid=\"fe0005a48b1692777182143f69e1d5\">bacilli</span> for 6-8 weeks.</li>\n<li>Chronic carriers: <span class=\"customMeta\" data-dictid=\"350d30aa5316927771874442f8874c\">Excrete</span> <span class=\"customMeta\" data-dictid=\"fe0005a48b1692777182143f69e1d5\">bacilli</span> for >1 year.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Mode of Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Feco-oral route.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Incubation Period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>10-14 days.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Clinical Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Early phase: Fever, <span class=\"customMeta\" data-dictid=\"5b09a1161b169277719460978e4cc1\">paradoxical</span> bradycardia, <span class=\"customMeta\" data-dictid=\"15979dc9b01692777195bda487c75c\">pea</span> soup diarrhea.</li>\n<li>Late phase: Splenomegaly, rose spots.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Diagnostic Modalities</strong><br/>\n<strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>1st week: Blood culture</li>\n<li>2nd week: Widal test</li>\n<li>3rd & 4th weeks: Fecal and <span class=\"customMeta\" data-dictid=\"0096f2a7631692777201eb9f21d5a7\">urine</span> cultures.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Treatment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Fluoroquinolones, azithromycin, ceftriaxone, cefixime.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5hzqLLD5WBaMLrhKLHLd1742810834.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 22 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following groups is not included in the high-risk core population for HIV transmission?", "options": [{"label": "A", "text": "IV drug users", "correct": false}, {"label": "B", "text": "Female sex workers", "correct": false}, {"label": "C", "text": "Men who have sex with men", "correct": false}, {"label": "D", "text": "Long distance truck drivers", "correct": true}], "correct_answer": "D. Long distance truck drivers", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Group</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rationale</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>IV drug users (IDUs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Core</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>High <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> risk due to <strong>needle sharing</strong> and risky sexual behavior.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Female sex workers (FSWs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Core</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Engage in <strong>frequent unprotected sex</strong>, increasing exposure.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Men who have sex with <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">men</span> (MSM)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Core</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Higher <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of <strong>unprotected anal sex</strong>, a major <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> transmission route.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Long-distance truck drivers (LDTD)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bridge</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They interact with <strong>core populations (FSWs, IDUs)</strong> and spread <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> to the <strong>general population</strong> but are <strong>not core transmitters</strong> themselves.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Malaria detection on the field is done by which of the following?", "options": [{"label": "A", "text": "Thick smear", "correct": false}, {"label": "B", "text": "Thin smear", "correct": false}, {"label": "C", "text": "HRP2 antigen / Rapid diagnostic test", "correct": true}, {"label": "D", "text": "Quantitative Buffy coat", "correct": false}], "correct_answer": "C. HRP2 antigen / Rapid diagnostic test", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Method</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Principle</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Best Used In</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Limitations</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Thick smear</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concentrates parasites for <strong>better detection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Diagnosis in <strong>labs with microscopy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires <strong>staining and expertise</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Thin smear</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used to identify <strong>species and <span class=\"customMeta\" data-dictid=\"a59b97ce831692777194f6c0160f15\">parasite</span> morphology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Differentiating <strong>Plasmodium species</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less sensitive in low parasitemia</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HRP2 <span class=\"customMeta\" data-dictid=\"782b31281a1692777181708484c1d1\">antigen</span> / RDT</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detects <strong>malarial antigens (HRP2 or pLDH)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Field settings, rapid diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cannot detect <strong>low parasitemia</strong> or HRP2-deleted strains</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Quantitative <span class=\"customMeta\" data-dictid=\"353a9bd0c61692777183ec2414d977\">Buffy</span> Coat (QBC)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Fluorescent <span class=\"customMeta\" data-dictid=\"3b007026bd16927771997ae809b603\">staining</span> of parasites in <span class=\"customMeta\" data-dictid=\"09be7d1f11169277720210bf5b0280\">WBC</span> fraction</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>High-sensitivity lab settings</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Expensive, requires <strong>specialized equipment</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A fruit farmer presents with fever, respiratory difficulties, and neurological complications. What is the most likely diagnosis?", "options": [{"label": "A", "text": "Ebola", "correct": false}, {"label": "B", "text": "Meningitis", "correct": false}, {"label": "C", "text": "Nipah", "correct": true}, {"label": "D", "text": "Zika", "correct": false}], "correct_answer": "C. Nipah", "question_images": ["https://image.prepladder.com/content/3ekWcDI2wQWFA3vKGl221724843053.png"], "explanation_images": ["https://image.prepladder.com/content/j0HhZmXpZpLHuCQWpeOU1724843070.png"], "explanation": "<p>Correct Option C - Nipah\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A man occasionally eats outside due to traveling reasons. He presents to a physician with abdominal pain for 4 days, along with a history of fever and bradycardia. Which test is used to confirm the diagnosis?", "options": [{"label": "A", "text": "Blood culture", "correct": true}, {"label": "B", "text": "Widal test", "correct": false}, {"label": "C", "text": "Stool culture", "correct": false}, {"label": "D", "text": "Urine culture", "correct": false}], "correct_answer": "A. Blood culture", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/tyfvv5y7n98ZfnmdjpUs1724843174.png"], "explanation": "<p>Correct Option A - Blood cultu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "If the incubation period of a disease is 5-14 days, what should be the recommended quarantine period?", "options": [{"label": "A", "text": "5 days", "correct": false}, {"label": "B", "text": "10 days", "correct": false}, {"label": "C", "text": "14 days", "correct": true}, {"label": "D", "text": "20 days", "correct": false}], "correct_answer": "C. 14 days", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/yPAlrypLgQmODTl3PgZF1724851476.png"], "explanation": "<p>Correct Option C - 14\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The period between the entry of an organism into the host and the time when the host becomes maximally infectious is referred to as?", "options": [{"label": "A", "text": "Generation time", "correct": true}, {"label": "B", "text": "Median incubation period", "correct": false}, {"label": "C", "text": "Window period", "correct": false}, {"label": "D", "text": "Latent period", "correct": false}], "correct_answer": "A. Generation time", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Tn8k0UJNgnWNSPtkoLBt1724851724.png"], "explanation": "<p>Correct Option A - G\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 35-year-old male soldier complained of being plagued by a painful, erosive lesion near his earlobe since his return from his duty in the desert area. The patient is otherwise vitally stable, and general physical examinations reveal no other abnormalities. The punch biopsy of the leading edge of the erosion reveals the given findings. Which of the following is the causative organism?", "options": [{"label": "A", "text": "Trypanosomabrucei", "correct": false}, {"label": "B", "text": "Trypanosoma cruzi", "correct": false}, {"label": "C", "text": "Leishmania donovani", "correct": true}, {"label": "D", "text": "Plasmodium vivax", "correct": false}], "correct_answer": "C. Leishmania donovani", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Kala-azar/ Black sickness/Dum-dum fever/Sandfly disease/ Visceral Leishmaniasis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Organism</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Protozoan</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Epidemiology</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Endemic in Uttar Pradesh, Bihar, Jharkhand, West Bengal</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Types</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ol>\n<li>Visceral (Kala-Azar): L. donovani</li>\n<li>Cutaneous: L. tropica</li>\n<li>Mucocutaneous: L. braziliensis</li>\n<li>Post-kala-azar <span class=\"customMeta\" data-dictid=\"532334711316927771865e5309b763\">dermal</span> (PKLD): Immune response</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reservoir</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Humans (non-zoonotic)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Vector</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Sandfly (Phlebotomus argentipes): has <span class=\"customMeta\" data-dictid=\"a4789768d21692777188e77f1969cd\">hairy</span> wings.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Environmental</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Peak outbreak: November to April</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Mechanism of transmission</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Bite of sandfly</li>\n<li>Blood <span class=\"customMeta\" data-dictid=\"cbb73554631692777200444a9ea263\">transfusion</span> (rare)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Incubation period</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>10 days to 2 years. (1-4 months average)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Visceral: Fever, Weight loss, Hepatosplenomegaly, Anemia.</li>\n<li>Cutaneous: Painful skin ulcers</li>\n<li>Mucocutaneous: Rapid mucosal destruction of nose and oropharynx</li>\n<li>PKDL: Skin nodules filled with micro-organisms</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Diagnosis</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Rapid <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> kits: rk39-dipstick test.\n\t\t\t\t<ul>\n<li>Used for field surveys.</li>\n</ul>\n</li>\n<li>Biopsy (Gold standard):<strong> Leishmania Donovan bodies (amastigotes)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sandfly control measures</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>DDT: 1-2gm/m<sup>2</sup>.</li>\n<li>BHC (benzene hexachloride)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>DOC: Single dose Liposomal amphotericin-B (LAMB)10 mg/kg</li>\n<li>Alternatives:\n\t\t\t\t<ul>\n<li>Miltefosine + Paramomycin</li>\n<li>Pentamidine</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Mark the incorrect statement regarding Nipah virus:", "options": [{"label": "A", "text": "It is transmitted through bat urine", "correct": false}, {"label": "B", "text": "It causes hemorrhagic fever", "correct": true}, {"label": "C", "text": "It is present in India", "correct": false}, {"label": "D", "text": "It is an emerging infection", "correct": false}], "correct_answer": "B. It causes hemorrhagic fever", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/nbkwKcDTcIS4DTC52gOY1747312103.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Nipah virus</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Natural reservoir</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Bats</strong></p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"123\" src=\"https://image.prepladder.com/content/nbkwKcDTcIS4DTC52gOY1747312103.png\" width=\"489\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Modes of transmission </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Direct contact with infected animals</li>\n<li>Body <span class=\"customMeta\" data-dictid=\"9b0ae3750916927771986c15d4ff4d\">secretion</span> (blood, urine, faeces, seminal fluid)<strong> (Option A)</strong></li>\n<li>Consumption of contaminated food products (palm <span class=\"customMeta\" data-dictid=\"8beb46e52516927771989c115d47b5\">sap</span> or fruits)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Incubation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4-14 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Clinical features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Fever, chills, headache</li>\n<li>Encephalitis (M/C), <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> <span class=\"customMeta\" data-dictid=\"afafb9026e1692777186e3dd168fa8\">distress</span> syndrome</li>\n<li>Multiorgan failure, GIT haemorrhage (case fatality rate- 40-70%)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Match the following diseases with their respective incubation period: a. Chicken pox 1. 10-12 days b. Mumps 2. 14-16 days c. Measles 3. 16-18 days d. Syphilis 4. 2-4 weeks (average 21 days)", "options": [{"label": "A", "text": "a-2, b-3, c-1, d-4", "correct": true}, {"label": "B", "text": "a-1, b-3, c-2, d-4", "correct": false}, {"label": "C", "text": "a-2, b-4, c-1, d-3", "correct": false}, {"label": "D", "text": "a-3, b-2, c-4, d-1", "correct": false}], "correct_answer": "A. a-2, b-3, c-1, d-4", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Causative Agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mode of Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation Period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Remarks</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measles virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rash appears ~14 days; <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> with <span class=\"customMeta\" data-dictid=\"53ddc0755c1692777195e8d5f9fc68\">periodic</span> epidemics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mumps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mumps virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14–21 days (avg 16–18 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Iceberg phenomenon; endemic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rubella</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rubella virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14–21 days (avg ~18 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Epidemics occur every 5–7 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chickenpox (Varicella)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Varicella-zoster virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Airborne, droplet, direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–21 days (avg 14–16 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Highly contagious</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pertussis (Whooping Cough)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Bordetella pertussis</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days (may extend to 3 weeks)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Endemic; catarrhal stage follows incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diphtheria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Corynebacterium diphtheriae</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, contact with infected secretions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–5 days (range up to 10 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires <span class=\"customMeta\" data-dictid=\"2ff0b3039f16927771818bb2a247b0\">antitoxin</span> + antibiotics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Influenza</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Influenza virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–4 days (avg ~2 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rapid onset; <span class=\"customMeta\" data-dictid=\"201a6ea7721692777198c51d735506\">seasonal</span> epidemics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>COVID-19</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>SARS-CoV-2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, aerosol, contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–14 days (avg 5–6 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Incubation varies by variant</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Syphilis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Treponema pallidum</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sexual, transplacental</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–90 days (avg ~21 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Chancre appears ~3 weeks post-exposure</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hepatitis A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HAV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>15–50 days (avg ~28 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Waterborne outbreaks possible</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hepatitis B</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HBV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Parenteral, sexual, perinatal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30–180 days (avg ~75 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Asymptomatic during incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tetanus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Clostridium tetani</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contaminated wounds</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3–21 days (avg ~8 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Severity ↑ with shorter incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rabies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rabies virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Animal bites (saliva)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–3 months (can range 1 week–1 year)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Depends on bite site & <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> load</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Typhoid Fever</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Salmonella typhi</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Gradual onset of fever</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cholera</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Vibrio cholerae</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral (contaminated water)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 hours–5 days (avg 1–2 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sudden <span class=\"customMeta\" data-dictid=\"dd9858c0bf1692777187ed886e9735\">explosive</span> outbreaks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dengue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dengue virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquito-borne (Aedes aegypti)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4–7 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>After bite of infected mosquito</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Leptospirosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Leptospira interrogans</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contact with animal urine-contaminated water</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–30 days (avg 7–12 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Occupational risk; <span class=\"customMeta\" data-dictid=\"d2d6148c9e16927771833a65ad15d2\">biphasic</span> illness</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hand-Foot-Mouth Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Coxsackie A virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral, <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> secretions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3–6 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Common in young children</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Polio</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Poliovirus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral, oral-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>May be <span class=\"customMeta\" data-dictid=\"d1a9a79f701692777182066af09044\">asymptomatic</span> or paralytic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HIV/AIDS (Acute Phase)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HIV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sexual, blood, perinatal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–6 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Acute retroviral syndrome during seroconversion</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Plasmodium</em> spp.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquito-borne (Anopheles)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–30 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>P. falciparum: shorter incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Mycobacterium tuberculosis</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Airborne</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weeks to months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Latent TB has undefined <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bacillus cereus food poisoning</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Bacillus cereus</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of contaminated food</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–6 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Associated with reheated rice</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Staphylococcal food poisoning</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Staph. aureus</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of preformed toxin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–8 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Common in cream/pastry-based food</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Botulism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Clostridium botulinum</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of toxin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>18–36 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Neuroparalysis; emergency</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 32 year old male presented to emergency department with crush injury to the hand. He had a TT injection when he was 25 years old. The wound has been cleaned. What is the recommended next step of management?", "options": [{"label": "A", "text": "TT only", "correct": true}, {"label": "B", "text": "Td only", "correct": false}, {"label": "C", "text": "TT with Ig", "correct": false}, {"label": "D", "text": "Td with Ig", "correct": false}], "correct_answer": "A. TT only", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A patient has developed hepatitis A for more than 15 days. What is the correct statement ?", "options": [{"label": "A", "text": "Early Acute", "correct": false}, {"label": "B", "text": "Acute", "correct": true}, {"label": "C", "text": "Chronic", "correct": false}, {"label": "D", "text": "Severe", "correct": false}], "correct_answer": "B. Acute", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Acu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In which category of bioterrorism, does Anthrax belong?", "options": [{"label": "A", "text": "CAT A", "correct": true}, {"label": "B", "text": "CAT B", "correct": false}, {"label": "C", "text": "CAT C", "correct": false}, {"label": "D", "text": "CAT D", "correct": false}], "correct_answer": "A. CAT A", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - CAT A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not included in STEP approach?", "options": [{"label": "A", "text": "Blood group", "correct": true}, {"label": "B", "text": "Blood pressure", "correct": false}, {"label": "C", "text": "Blood sugar", "correct": false}, {"label": "D", "text": "Blood lipid", "correct": false}], "correct_answer": "A. Blood group", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Blood grou\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 5-year-old child came to ER presenting with fever, cough, runny nose, and a characteristic red rash.Which of the following statements about measles disease is incorrect?", "options": [{"label": "A", "text": "Incubation period of 14 days", "correct": false}, {"label": "B", "text": "Strain used is Edmonston Zagreb", "correct": false}, {"label": "C", "text": "Period of communicability is 14 days after rash", "correct": true}, {"label": "D", "text": "Transmitted primarily through respiratory droplets.", "correct": false}], "correct_answer": "C. Period of communicability is 14 days after rash", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Period of communicability is 14 days after rash\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 35-year-old patient with known HIV infection and presenting with persistent cough, fever, and weight loss, which diagnostic test is considered the investigation of choice for detecting tuberculosis (TB)?", "options": [{"label": "A", "text": "Culture", "correct": false}, {"label": "B", "text": "Chest x-ray", "correct": false}, {"label": "C", "text": "CBNAAT", "correct": true}, {"label": "D", "text": "PCR", "correct": false}], "correct_answer": "C. CBNAAT", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 40-year-old male with a known case of HIV infection and a CD4 count less than 50 cells/μL. Which of the following infections is he at risk of developing?", "options": [{"label": "A", "text": "Candida", "correct": false}, {"label": "B", "text": "Staph. aureus", "correct": false}, {"label": "C", "text": "Disseminated MAC Infection", "correct": false}, {"label": "D", "text": "Pneumocystis jirovecii", "correct": true}], "correct_answer": "D. Pneumocystis jirovecii", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 5-year-old child presenting to a clinic with a history of cough, runny nose, conjunctivitis, fever, and a rash that initially arises behind the ears and then spreads to the chest, back, and abdomen. What is the likely diagnosis?", "options": [{"label": "A", "text": "Measles", "correct": true}, {"label": "B", "text": "Dengue", "correct": false}, {"label": "C", "text": "Rubella", "correct": false}, {"label": "D", "text": "Chickenguny", "correct": false}], "correct_answer": "A. Measles", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - M\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 30-year-old patient presenting with hypopigmented patches, loss of cold sensation followed by hot, touch and pain along with a palpable ulnar nerve. What is the likely diagnosis?", "options": [{"label": "A", "text": "TB", "correct": false}, {"label": "B", "text": "Leprosy", "correct": true}, {"label": "C", "text": "HIV", "correct": false}, {"label": "D", "text": "Candida", "correct": false}], "correct_answer": "B. Leprosy", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - L\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which vaccines should healthcare workers receive?", "options": [{"label": "A", "text": "Cholera", "correct": false}, {"label": "B", "text": "HPV", "correct": false}, {"label": "C", "text": "Hepatitis", "correct": true}, {"label": "D", "text": "Rabies", "correct": false}], "correct_answer": "C. Hepatitis", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th>Vaccine</th>\n<th>Reason</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Hepatitis B</strong></td>\n<td>Bloodborne transmission risk from patients</td>\n</tr>\n<tr>\n<td><strong>Influenza</strong></td>\n<td>Seasonal spread in hospital settings</td>\n</tr>\n<tr>\n<td><strong>MMR</strong></td>\n<td>Protection against measles, mumps, rubella</td>\n</tr>\n<tr>\n<td><strong>Tdap</strong></td>\n<td>For pertussis, tetanus, <span class=\"customMeta\" data-dictid=\"233cc736b01692777186a2a5ac98f1\">diphtheria</span> protection</td>\n</tr>\n<tr>\n<td><strong>Varicella</strong></td>\n<td>For non-immune HCWs, to prevent chickenpox</td>\n</tr>\n<tr>\n<td><strong>COVID-19</strong></td>\n<td>For <span class=\"customMeta\" data-dictid=\"703c39de691692777194908dd125e5\">pandemic</span> and <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> control</td>\n</tr>\n<tr>\n<td><strong>Rabies</strong></td>\n<td><strong>Only for specific risk groups</strong> like lab workers or veterinarians</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Match the following diseases with their respective incubation period: 1. Measles a. 50 days 2. Mumps b. 2-4 weeks 3. Chickenpox c. 10-12 days 4. Syphilis d. 14-16 days 5. Hepatitis A e. 9-90 days", "options": [{"label": "A", "text": "1-d, 2-b, 3-c, 4-е, 5-а", "correct": false}, {"label": "B", "text": "1-c, 2-b, 3-d, 4-e, 5-a", "correct": true}, {"label": "C", "text": "1-b, 2-d, 3-c, 4-e, 5-a", "correct": false}, {"label": "D", "text": "1-d, 2-b, 3-c, 4-0, 5-е", "correct": false}], "correct_answer": "B. 1-c, 2-b, 3-d, 4-e, 5-a", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Causative Agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mode of Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation Period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Remarks</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measles virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rash appears ~14 days; <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> with <span class=\"customMeta\" data-dictid=\"53ddc0755c1692777195e8d5f9fc68\">periodic</span> epidemics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mumps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mumps virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14–21 days (avg 16–18 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Iceberg phenomenon; endemic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rubella</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rubella virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14–21 days (avg ~18 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Epidemics occur every 5–7 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chickenpox (Varicella)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Varicella-zoster virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Airborne, droplet, direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–21 days (avg 14–16 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Highly contagious</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pertussis (Whooping Cough)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Bordetella pertussis</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet & direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days (may extend to 3 weeks)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Endemic; catarrhal stage follows incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diphtheria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Corynebacterium diphtheriae</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, contact with infected secretions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–5 days (range up to 10 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires <span class=\"customMeta\" data-dictid=\"2ff0b3039f16927771818bb2a247b0\">antitoxin</span> + antibiotics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Influenza</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Influenza virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, direct contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–4 days (avg ~2 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rapid onset; <span class=\"customMeta\" data-dictid=\"201a6ea7721692777198c51d735506\">seasonal</span> epidemics</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>COVID-19</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>SARS-CoV-2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Droplet, aerosol, contact</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–14 days (avg 5–6 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Incubation varies by variant</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Syphilis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Treponema pallidum</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sexual, transplacental</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10–90 days (avg ~21 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Chancre appears ~3 weeks post-exposure</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hepatitis A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HAV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>15–50 days (avg ~28 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Waterborne outbreaks possible</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hepatitis B</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HBV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Parenteral, sexual, perinatal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30–180 days (avg ~75 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Asymptomatic during incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tetanus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Clostridium tetani</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contaminated wounds</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3–21 days (avg ~8 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Severity ↑ with shorter incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rabies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rabies virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Animal bites (saliva)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–3 months (can range 1 week–1 year)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Depends on bite site & <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> load</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Typhoid Fever</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Salmonella typhi</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Gradual onset of fever</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cholera</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Vibrio cholerae</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral (contaminated water)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 hours–5 days (avg 1–2 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sudden <span class=\"customMeta\" data-dictid=\"dd9858c0bf1692777187ed886e9735\">explosive</span> outbreaks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dengue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dengue virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquito-borne (Aedes aegypti)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4–7 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>After bite of infected mosquito</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Leptospirosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Leptospira interrogans</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contact with animal urine-contaminated water</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–30 days (avg 7–12 days)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Occupational risk; <span class=\"customMeta\" data-dictid=\"d2d6148c9e16927771833a65ad15d2\">biphasic</span> illness</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hand-Foot-Mouth Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Coxsackie A virus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral, <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> secretions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3–6 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Common in young children</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Polio</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Poliovirus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feco-oral, oral-oral</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–14 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>May be <span class=\"customMeta\" data-dictid=\"d1a9a79f701692777182066af09044\">asymptomatic</span> or paralytic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HIV/AIDS (Acute Phase)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HIV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sexual, blood, perinatal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2–6 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Acute retroviral syndrome during seroconversion</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Plasmodium</em> spp.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mosquito-borne (Anopheles)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7–30 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>P. falciparum: shorter incubation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Mycobacterium tuberculosis</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Airborne</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weeks to months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Latent TB has undefined <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bacillus cereus food poisoning</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Bacillus cereus</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of contaminated food</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–6 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Associated with reheated rice</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Staphylococcal food poisoning</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Staph. aureus</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of preformed toxin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1–8 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Common in cream/pastry-based food</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Botulism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Clostridium botulinum</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ingestion of toxin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>18–36 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Neuroparalysis; emergency</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The blood pressure of a population was tracked from childhood to adulthood. It was observed that those who had lower BP in childhood had low BP in adulthood, while those who had higher BP in childhood had high BP in adulthood. This can be best described as:", "options": [{"label": "A", "text": "Rule of halves", "correct": false}, {"label": "B", "text": "Tracking of blood pressure", "correct": true}, {"label": "C", "text": "Stepwise approach", "correct": false}, {"label": "D", "text": "Primordial approach", "correct": false}], "correct_answer": "B. Tracking of blood pressure", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/XjzBnUodstMdP99Wm2Oe1745314157.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to the Colombo plan, which of the following statements regarding cancer treatment is correct?", "options": [{"label": "A", "text": "Help with PET scan units for diagnosis of cancer", "correct": false}, {"label": "B", "text": "Human resource strengthening", "correct": false}, {"label": "C", "text": "Setting up chemotherapy units", "correct": false}, {"label": "D", "text": "Setting up cobalt therapy units", "correct": true}], "correct_answer": "D. Setting up cobalt therapy units", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Hkgfpqx4d5ID9w5zqKsi1745322564.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:1000px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>The Colombo Plan</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"369\" src=\"https://image.prepladder.com/content/Hkgfpqx4d5ID9w5zqKsi1745322564.png\" width=\"378\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>Multilateral agency.</li>\n<li>Promotes the concept of collective intergovernmental for economic and social development in South and Southeast Asia.</li>\n<li>Primary focus is on agricultural and industrial development and sometimes on health.</li>\n<li>Membership - 20 developing countries.</li>\n<li>6 non-regional members - Australia, Canada, Japan, New Zealand, UK, USA.</li>\n<li><strong>Provides <span class=\"customMeta\" data-dictid=\"e3555f448716927771844820d69cfa\">Cobalt</span> Radiotherapy Units to Medical Colleges</strong></li>\n<li>AIIMS in New Delhi was established with financial assistance from New Zealand.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A boys' hostel has an outbreak of fever cases with headache, followed by the development of pleomorphic rashes sparing palms and soles. What is the next best step in the management of suspected cases?", "options": [{"label": "A", "text": "Isolate for 6 days after giving acyclovir, followed by VZIG within 72 hours of exposure", "correct": false}, {"label": "B", "text": "Isolate for 12 days after giving acyclovir, followed by VZIG within 48 hours of exposure", "correct": false}, {"label": "C", "text": "Isolate for 6 days", "correct": true}, {"label": "D", "text": "Only give VZIG", "correct": false}], "correct_answer": "C. Isolate for 6 days", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Parameter</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Chickenpox</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Seasonal affinity: Winter season</li>\n<li>Etiology: HHV-3</li>\n<li>Route of transmission: <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">Respiratory</span> / <span class=\"customMeta\" data-dictid=\"c54afbcf861692777180adb352ee0d\">aerosol</span> route</li>\n<li>Age group affected: 5-9 years (school going age)</li>\n<li>Incubation period: 14-16 days</li>\n<li>Infectivity: 2 days prior to 5 days after the onset of rash</li>\n<li>SAR:> 90%</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Clinical Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Pre-eruptive stage:</strong> Sudden onset of mild to moderate fever lasting 2–3 days.</li>\n<li><strong>Eruptive stage: </strong>Centripetal, <span class=\"customMeta\" data-dictid=\"d391ed597c1692777195574de6cc11\">pleomorphic</span> <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> with \"Dew drop on rose petal\" appearance.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Complications</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Adults/Immunosuppressed: Pneumonia.</li>\n<li>Maternal varicella: Low birth weight, microcephaly, cataract, deafness, <span class=\"customMeta\" data-dictid=\"f375a3584316927772020efa386e3e\">fetal</span> wastage.</li>\n<li>Secondary bacterial infection: Cellulitis, osteomyelitis, erysipelas.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>PCR: Detecting VZV DNA.</li>\n<li>Cell culture: From <span class=\"customMeta\" data-dictid=\"6b0184a84d16927771981289924c2a\">saliva</span> or <span class=\"customMeta\" data-dictid=\"43337a69ad169277720110a038f222\">vesicle</span> fluid.</li>\n<li>Tzanck smear: <span class=\"customMeta\" data-dictid=\"aa085932ce1692777193be7e5198bf\">Multinucleated</span> giant cells.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Control and Prevention</strong></p>\n<p><strong>(Options A, B, and D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Isolation:</strong> 6 days after <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> appearance.</li>\n<li><strong>Disinfection:</strong> Used specimens with <span class=\"customMeta\" data-dictid=\"802328b229169277719000601489eb\">infective</span> secretions.</li>\n<li><strong>Acyclovir:</strong> For adults to prevent complications; not indicated in children.</li>\n<li><strong>VZV Immunoglobulin: </strong>Within 72 hours of exposure, for immunosuppressed individuals.</li>\n<li><strong>Vaccine:</strong> 12–18 months of age; 0.5 ml <span class=\"customMeta\" data-dictid=\"d446e62c6c1692777199896fc1d4b9\">subcutaneous</span> injection.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 35-year-old homeless man presented with a 1-month history of fever, cough, and weight loss. Both sputum smears turned out to be negative, but the chest x-ray ordered was suggestive of tuberculosis. According to the recent NTEP guidelines, which is the next best line of management?", "options": [{"label": "A", "text": "Repeat sputum smears", "correct": false}, {"label": "B", "text": "Ask for CBNAAT", "correct": true}, {"label": "C", "text": "Ask for line probe assay", "correct": false}, {"label": "D", "text": "Wait until TB culture results to start ATT", "correct": false}], "correct_answer": "B. Ask for CBNAAT", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/g0Gn9nMUHDGeSOGDlcJA1745322987.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:648px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Diagnostic Modality</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Usage</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sputum <span class=\"customMeta\" data-dictid=\"6777533153169277719804fcbbf2d1\">Smear</span> Microscopy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Microscopic examination of <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> samples to detect <span class=\"customMeta\" data-dictid=\"440f2b916316927771808b8ad44a64\">acid-fast</span> <span class=\"customMeta\" data-dictid=\"fe0005a48b1692777182143f69e1d5\">bacilli</span> (AFB).</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used for initial screening and diagnosis, especially in resource-limited settings.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Chest X-ray</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Imaging done to identify abnormalities suggestive of TB.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used to support diagnosis when clinical suspicion is high; not <span class=\"customMeta\" data-dictid=\"32b854324a1692777185c6c79fdc99\">definitive</span> for TB diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>TruNAAT/CBNAAT</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Molecular tests that detect Mycobacterial DNA and <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">rifampicin</span> resistance.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recommended for initial diagnosis due to high sensitivity and specificity; rapid results.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Line <span class=\"customMeta\" data-dictid=\"175eb86b5f16927771964d5ced6bf3\">Probe</span> <span class=\"customMeta\" data-dictid=\"fc026ff6d81692777182835f6de6df\">Assay</span> (LPA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Molecular test to detect specific genetic mutations associated with <span class=\"customMeta\" data-dictid=\"36f0ccd0621692777186c1c3cecf48\">drug resistance</span> (e.g., rifampicin, isoniazid).</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used for detecting <span class=\"customMeta\" data-dictid=\"36f0ccd0621692777186c1c3cecf48\">drug resistance</span> in confirmed TB cases, not for initial diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tuberculin Skin Test (TST)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>A skin test to measure <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> to <span class=\"customMeta\" data-dictid=\"6a367ebd0c169277719091155a5b0f\">injected</span> <span class=\"customMeta\" data-dictid=\"0fe92012341692777201bab3db39b1\">tuberculin</span> protein.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Primarily used for screening <span class=\"customMeta\" data-dictid=\"cec2565ecd1692777191eed58869b2\">latent</span> TB infection; not specific for active TB diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Interferon-Gamma Release Assays (IGRAs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Blood <span class=\"customMeta\" data-dictid=\"0ac01cc0c31692777185cae5f28175\">cytokine</span> analysis test that measures <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> to TB antigens.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used for detecting <span class=\"customMeta\" data-dictid=\"cec2565ecd1692777191eed58869b2\">latent</span> TB infection</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sputum Culture</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Growing Mycobacteria from <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> samples to confirm TB and test for drug susceptibility.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Gold standard for TB diagnosis; takes several weeks to obtain results.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Drug <span class=\"customMeta\" data-dictid=\"6ced8252211692777199ab0cc3f2bb\">Susceptibility</span> Testing (DST)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Testing TB bacteria from patient samples to determine resistance to TB drugs.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used to guide treatment by identifying <span class=\"customMeta\" data-dictid=\"d4c88fcae71692777186aa1c32423a\">drug-resistant</span> strains in confirmed TB cases.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A patient comes with a history of category 3 dog bites. He received prophylaxis for a monkey bite 6 months back. What is the next step in management?", "options": [{"label": "A", "text": "Wound cleaning only", "correct": false}, {"label": "B", "text": "Wound cleaning + rabies vaccine on day 0 &amp; 3", "correct": true}, {"label": "C", "text": "Wound cleaning+rabies vaccine on day 0,3 &amp; 7", "correct": false}, {"label": "D", "text": "Wound cleaning+IM vaccine +RIG", "correct": false}], "correct_answer": "B. Wound cleaning + rabies vaccine on day 0 & 3", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following medications is typically prescribed as the initial treatment for tuberculosis during the first 2 months?", "options": [{"label": "A", "text": "Streptomycin", "correct": false}, {"label": "B", "text": "Ethambutol", "correct": true}, {"label": "C", "text": "Linezolide", "correct": false}, {"label": "D", "text": "Levofloxacin", "correct": false}], "correct_answer": "B. Ethambutol", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "For which of the following airborne infections is it necessary to isolate patients in a separate room?", "options": [{"label": "A", "text": "Measles", "correct": true}, {"label": "B", "text": "Rabies", "correct": false}, {"label": "C", "text": "Nipah", "correct": false}, {"label": "D", "text": "Aseptic meningitis", "correct": false}], "correct_answer": "A. Measles", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What are the necessary criteria that need to be fulfilled in order to initiate MDT? 1. Hypopigmented patch with sensory loss 2. Peripheral nerve thickening 3. Peripheral nerve thickening with sensory loss 4. Skin biopsy demonstrating bacilli", "options": [{"label": "A", "text": "1, 4", "correct": false}, {"label": "B", "text": "1, 3", "correct": false}, {"label": "C", "text": "1, 3, 4", "correct": true}, {"label": "D", "text": "1, 2, 3, 4", "correct": false}], "correct_answer": "C. 1, 3, 4", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:450px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnostic Criteria for Leprosy</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Hypopigmented or reddish skin <span class=\"customMeta\" data-dictid=\"d5e7bb15851692777191b39417c26a\">lesion</span> <strong>with definite <span class=\"customMeta\" data-dictid=\"408bcde7f01692777198acadb8e1c6\">sensory</span> loss</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. <strong>Thickened <span class=\"customMeta\" data-dictid=\"255674f3271692777195c172d86daf\">peripheral</span> nerve</strong> <strong>with <span class=\"customMeta\" data-dictid=\"408bcde7f01692777198acadb8e1c6\">sensory</span> and/or motor loss</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. Positive <strong>slit-skin smear</strong> or <strong>skin biopsy</strong> showing AFB</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the accurate statement concerning preventive measures for typhoid transmission in the community?", "options": [{"label": "A", "text": "Typhoid vaccine administration is the best method of preventing transmission.", "correct": false}, {"label": "B", "text": "Hygiene practice and clean sanitation control is more important than the typhoid vaccine.", "correct": true}, {"label": "C", "text": "In 10% of cases, person-to-person transmission occurs.", "correct": false}, {"label": "D", "text": "Drug resistance in typhoid is not as big a problem as in TB.", "correct": false}], "correct_answer": "B. Hygiene practice and clean sanitation control is more important than the typhoid vaccine.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The drug shown in the image below is administered for:", "options": [{"label": "A", "text": "Malaria", "correct": true}, {"label": "B", "text": "Dengue", "correct": false}, {"label": "C", "text": "Sexually transmitted infections", "correct": false}, {"label": "D", "text": "AIDS", "correct": false}], "correct_answer": "A. Malaria", "question_images": ["https://image.prepladder.com/notes/YW1vvPSxJhPaqRsn10P21746699513.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements regarding drugs used in anti-tubercular treatment are true? A. Isoniazid inhibits mycolic acid synthesis B. Pyrazinamide is an enzyme inducer C. Rifampicin is used only in the treatment of tuberculosis D. Bedaquiline inhibits ATP synthase", "options": [{"label": "A", "text": "A, B, C, D", "correct": false}, {"label": "B", "text": "B, C", "correct": false}, {"label": "C", "text": "A, C", "correct": false}, {"label": "D", "text": "A, D", "correct": true}], "correct_answer": "D. A, D", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A child is brought to the PHC with acute diarrhoea. The doctor, based on history, suspects that the child may be suffering from an infection due to Shigella over cholera and proceeds to give ciprofloxacin as the antibiotic. Which of the following points on history, apart from bloody stools, favour the doctor's suspicion?", "options": [{"label": "A", "text": "Absence of rectal pain", "correct": false}, {"label": "B", "text": "Presence of abdominal cramps", "correct": false}, {"label": "C", "text": "Presence of vomiting", "correct": false}, {"label": "D", "text": "Presence of fever", "correct": true}], "correct_answer": "D. Presence of fever", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - Presence of fever </p>\n<p><strong>Educational Objective:</strong></p>\n<ul><li>➤ Presence of vomiting (Option C):</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most reliable indicator of recent malaria transmission?", "options": [{"label": "A", "text": "Spleen rate", "correct": false}, {"label": "B", "text": "Infant parasite rate", "correct": true}, {"label": "C", "text": "Parasite density index", "correct": false}, {"label": "D", "text": "Slide positivity rate", "correct": false}], "correct_answer": "B. Infant parasite rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/B8s4DAoE4S78rEFBWYPJ1745908025.png"], "explanation": "<p>Correct Answer B - Infant <span class=\"customMeta\" data-dictid=\"a59b97ce831692777194f6c0160f15\">parasite</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the likely diagnosis for a 50-year-old male who worked in the dye industry and had exposure to aniline dyes, and is now experiencing bladder problems?", "options": [{"label": "A", "text": "Squamous cell carcinoma", "correct": false}, {"label": "B", "text": "Basal cell carcinoma", "correct": false}, {"label": "C", "text": "Transitional cell carcinoma", "correct": true}, {"label": "D", "text": "Adenocarcinoma", "correct": false}], "correct_answer": "C. Transitional cell carcinoma", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Transitional cell carcinoma</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align:center\"><strong>Chemical</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align:center\"><strong>Cancer</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align:center\"><strong>Note</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Aflatoxin</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Hepatocellular Carcinoma</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Aspergillus; stored grains</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Alkylating Agents</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Lymphoma & Leukemia</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Caused by chemotherapy</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Alcohol</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>SCC of Oropharynx/Esophagus, Pancreatic Ca, HCC</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">—</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Arsenic</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>SCC of Skin, <span class=\"customMeta\" data-dictid=\"bd5cc7040a16927771812ebd87a3b6\">Angiosarcoma</span> of Liver, Lung Ca</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Contained in cigarette smoke</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Cigarette Smoke</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Bladder, Lung, Oropharynx, Kidney, Esophagus</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Polycyclic hydrocarbons</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Nitrosamines</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Stomach Ca</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Smoked foods, Japan</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Napthylamine</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Urothelial (bladder) Ca</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Comes from cigarette smoke</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Vinyl Chloride</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Angiosarcoma of liver</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Polyvinyl <span class=\"customMeta\" data-dictid=\"f7dbd0ab551692777184f9b1a73c6d\">chloride</span> (PVC) pipes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Chromium, Beryllium, Nickel, Silica</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Lung Ca</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">—</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Based on Globocan 2020 data, which cancer type is the most prevalent among males in India?", "options": [{"label": "A", "text": "Lung", "correct": false}, {"label": "B", "text": "Lip and oral cavity", "correct": true}, {"label": "C", "text": "Colorectal", "correct": false}, {"label": "D", "text": "Liver", "correct": false}], "correct_answer": "B. Lip and oral cavity", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - Lip and oral cavity</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>According to the Global Cancer Observatory (GLOBOCAN), </strong></p>\n<p><strong>Most common cancer worldwide (Both Genders):</strong></p>\n<ol>\n<li>Absolute numbers, Incidence, Both sexes, in 2022 (World Wide)- Lung Cancer.</li>\n<li>Age-Standardized Rate (World) per 100 000, Incidence, Both sexes, in 2022- Breast Cancer.</li>\n</ol>\n<p><strong>Most common cancer in India in terms of absolute numbers, incidence:</strong></p>\n<ol>\n<li>Lip/Oral Cancer in Males</li>\n<li>Breast cancer in females</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>According to the National Cancer Registry, the most common cause of cancer in </strong></p>\n<ol>\n<li>Males in India – Lung cancer.</li>\n<li>Females in India - Breast cancer.</li>\n</ol>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Ribbon colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Meaning</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Red</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>HIV/AIDS</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Pink</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Breast cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Light Blue</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Prostate cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Dark Blue</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Colon Cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Green</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Mental illness</li>\n<li>Liver cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Orange/Yellow</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Suicide prevention</li>\n<li>Leukaemia</li>\n<li>Kidney cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>White</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Lung cancer</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A pregnant woman arrived at the emergency department following an incident where she was scratched by a stray dog while walking on the streets one hour ago. She has only suffered minor abrasions without any bleeding. What course of treatment should be provided to her?", "options": [{"label": "A", "text": "No treatment as she is pregnant now", "correct": false}, {"label": "B", "text": "Only local wound cleaning", "correct": false}, {"label": "C", "text": "Local wound cleaning and rabies vaccine", "correct": true}, {"label": "D", "text": "Local wound cleaning, Rabies vaccines and immunoglobulins", "correct": false}], "correct_answer": "C. Local wound cleaning and rabies vaccine", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Local wound cleaning and <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">rabies</span> vaccine:</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Exposure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Management</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Class I</p>\n<p><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Licks and touch on intact skin (skin integrity not broken)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Local wound management: soap, running water, <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> <span class=\"customMeta\" data-dictid=\"c24e790aa2169277720062b62227ae\">tincture</span> for 15-20 min.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Class II<br/>\n\t\t\t </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Abrasion, <span class=\"customMeta\" data-dictid=\"ff7e91c542169277719182b4b8b68b\">laceration</span> (skin integrity broken)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Local wound management</li>\n<li>Immediate <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">Rabies</span> vaccination</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Class III<br/>\n<strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Bleeding, licks on mucosa/ broken skin, deep tissue injury, all wild animal or bat bite</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Wound management (avoid suturing)</li>\n<li>Rabies vaccination</li>\n<li>Rabies immunoglobulin</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What treatment should be administered to a patient diagnosed with P. Falciparum malaria from a North-Eastern state?", "options": [{"label": "A", "text": "Artemether plus lumefantrine", "correct": true}, {"label": "B", "text": "Sulfadoxine plus pyrimethamine", "correct": false}, {"label": "C", "text": "Chloroquine", "correct": false}, {"label": "D", "text": "Mefloquine", "correct": false}], "correct_answer": "A. Artemether plus lumefantrine", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - <span class=\"customMeta\" data-dictid=\"d145aa2b061692777182012254937c\">Artemether</span> plus lumefantrine</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Initial <span class=\"customMeta\" data-dictid=\"f4eacdbe7b1692777194d7caa2017d\">parenteral</span> treatment (48 hours)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Follow-up treatment</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Quinine</strong></p>\n<ul>\n<li>Loading dose: 20 mg/kg</li>\n<li>Maintenance dose : 10 mg/kg TDS</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Quinine</strong> 10 mg/kg TDS +</p>\n<ul>\n<li><strong>Doxycycline</strong> 3 mg/kg (or)</li>\n<li><strong>Clindamycin </strong>10 mg/kg<strong> </strong>(if pregnant / children < 8 years)</li>\n</ul>\n<p>Total treatment duration: <strong>7 days</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Artesunate</strong>: 2.4 mg/kg <span class=\"customMeta\" data-dictid=\"00a5dcc74b16927771913b344e36a3\">loading</span> dose, then at 12th and 24th hour followed by once a day.</li>\n<li><strong>Artemether</strong>: <span class=\"customMeta\" data-dictid=\"00a5dcc74b16927771913b344e36a3\">Loading</span> dose of 3.2 mg/kg; <span class=\"customMeta\" data-dictid=\"c673060f4c16927771917496b672c8\">maintenance dose</span> of 1.6 mg/kg per day.</li>\n<li><strong>Arteether</strong>: 150 mg per day for 3 days.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>ACT therapy</strong></p>\n<ul>\n<li>North-eastern states: Age & weight adjusted <strong>ACT-AL</strong> for 3 days + primaquine on second day.</li>\n<li>Other states: <strong>ACT-SP</strong> <strong>(Option B) </strong>(sulfadoxine-pyrimethamine) for 3 days + primaquine on second day.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Re-infection with which of the following will lead to catastrophic symptoms even in the presence of antibodies?", "options": [{"label": "A", "text": "Dengue", "correct": true}, {"label": "B", "text": "Yellow fever", "correct": false}, {"label": "C", "text": "Japanese encephalitis", "correct": false}, {"label": "D", "text": "Zika", "correct": false}], "correct_answer": "A. Dengue", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Dengu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which kit would you recommend for the treatment of a 20-year-old female who has recently engaged in sexual intercourse and is experiencing vaginal discharge and lower abdominal pain when following the syndromic management approach for sexually transmitted infections at the Suraksha clinic in the local primary health center?", "options": [{"label": "A", "text": "Blue", "correct": false}, {"label": "B", "text": "Red", "correct": false}, {"label": "C", "text": "Black", "correct": false}, {"label": "D", "text": "Yellow", "correct": true}], "correct_answer": "D. Yellow", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - Yellow </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Kit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Indication</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Medicines</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Grey</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Urethral discharge</li>\n<li>Cervicitis</li>\n<li>Ano-rectal discharge</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, cefixime</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Green</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Vaginitis</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Secnidazole, fluconazole</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>White</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Non-herpetic <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">genital</span> ulcers</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, B. Penicillin</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Blue <strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Genital ulcers</li>\n<li>Penicillin <span class=\"customMeta\" data-dictid=\"aa1288c36b16927771814fa5aa84eb\">allergy</span> +</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Red <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Herpetic <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">genital</span> ulcers</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Acyclovir</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">6</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Yellow</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cefixime metronidazole, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">7</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Black <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inguinal bubo</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">8</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Brown</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anorectal <span class=\"customMeta\" data-dictid=\"9dd87431ba1692777186ecfb21d258\">discharge</span> syndrome</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cefixime, doxycycline</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "You are a doctor in a village. A 1-year-old child who is not taking feeds presents with fever and cough for 2 days. On examination, he is calm, with a respiratory rate of 51 breaths/min, and stridor is present. According to IMNCI (integrated management of neonatal and childhood illnesses). How is he classified?", "options": [{"label": "A", "text": "Pneumonia", "correct": false}, {"label": "B", "text": "Cough and cold", "correct": false}, {"label": "C", "text": "Severe pneumonia", "correct": true}, {"label": "D", "text": "ARDS", "correct": false}], "correct_answer": "C. Severe pneumonia", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/RMe4avtyFz8A1PJ6piSP1746103976.png"], "explanation": "<p>Correct Answer C - Severe pneu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of resistance is exhibited by the patient who is unresponsive to Isoniazid, Rifampicin, Ofloxacin, and Kanamycin?", "options": [{"label": "A", "text": "Multidrug resistance", "correct": false}, {"label": "B", "text": "Extensively drug-resistant", "correct": true}, {"label": "C", "text": "Rifampicin resistant", "correct": false}, {"label": "D", "text": "Extremely drug-resistant", "correct": false}], "correct_answer": "B. Extensively drug-resistant", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - Extensively drug-resistant</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Drug sensitive TB</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Patients are sensitive to 4 TB drugs: R,H,Z,E (Rifampicin, Isoniazid, Pyrazinamide, Ethambutol).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Mono-resistant (MR) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Resistant to one 1st line anti-TB drug only.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>H-Mono-resistant (H-MR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Resistant to <span class=\"customMeta\" data-dictid=\"5d8c24b3cb16927771909a5195d7f8\">Isoniazid</span> (H) only.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Rifampicin resistant (RR) (Option C) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Resistant to <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">Rifampicin</span> (R) only.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Multi-drug resistant (MDR) (Option A) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Resistant to both <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">Rifampicin</span> (R) & <span class=\"customMeta\" data-dictid=\"5d8c24b3cb16927771909a5195d7f8\">Isoniazid</span> (H).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Poly-Drug resistant (PDR) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Resistant to 2 drugs other than <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">Rifampicin</span> (R) & <span class=\"customMeta\" data-dictid=\"5d8c24b3cb16927771909a5195d7f8\">Isoniazid</span> (H).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Pre-Xtensive resistant (pre-XDR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Any <span class=\"customMeta\" data-dictid=\"3c0021ebec1692777192f766374e40\">MDR</span> patient (H+R) resistant to any fluoroquinolone.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Extensive resistant (XDR) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Any <span class=\"customMeta\" data-dictid=\"3c0021ebec1692777192f766374e40\">MDR</span> patient (H+R) resistant to any <span class=\"customMeta\" data-dictid=\"f4975edd0b1692777203b54cf45c2d\">fluoroquinolone</span> and Group 4 drugs (Bedaquiline, Linezolid, Levo/Moxifloxacin).</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A diabetic patient comes to you for advice regarding his diet. You advise him to include foods with a low glycemic index in the diet. Which of the following would you advise him for the same?", "options": [{"label": "A", "text": "Cornflakes", "correct": false}, {"label": "B", "text": "Brown rice", "correct": false}, {"label": "C", "text": "Sucrose", "correct": false}, {"label": "D", "text": "Papaya", "correct": true}], "correct_answer": "D. Papaya", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - Papaya</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Classification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>GI Index Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Low GI</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>55 or less</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Most fruits and vegetables (except potatoes, watermelon, sweetcorn), whole grains, pasta foods, beans, lentils, oats, quinoa, guava</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Medium GI</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>56-69</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Sucrose, basmati rice, brown rice, dairy products <strong>(Options B, C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>High GI</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>70 and above</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Corn flakes, baked potato, some white rice varieties (e.g., jasmine), white bread, candy bar, syrupy foods <strong>(Options A)</strong></p>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Please match the following colors of STI kits with their corresponding use: A. Lower abdominal pain B. Urethral discharge C. Non herpetic genital ulcer D. Vaginal discharge 1. Grey, Kit 1 2. Green, Kit 2 3. White, Kit 3 4. Yellow, Kit 6", "options": [{"label": "A", "text": "A-4, B-3, C-2, D-1", "correct": false}, {"label": "B", "text": "A-4, B-1, C-3, D-2", "correct": true}, {"label": "C", "text": "A-1, B-4, C-3, D-2", "correct": false}, {"label": "D", "text": "A-3, B-2, C-4, D-1", "correct": false}], "correct_answer": "B. A-4, B-1, C-3, D-2", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B) A-4, B-1, C-3, D-2:</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:621px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>A. Lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>4. Yellow, Kit 6</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>B. Urethral discharge</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1. Grey, Kit 1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>C. Non-herpetic <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">genital</span> ulcer</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3. White, Kit 3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>D. <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">Vaginal</span> discharge</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2. Green, Kit 2</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Kit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Colour</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Indication</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Medicines</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Grey</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Urethral discharge</p>\n<p>Cervicitis</p>\n<p>Ano-rectal discharge</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, cefixime</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Green</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Vaginitis</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Secnidazole, fluconazole</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>White</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Non-herpetic <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">genital</span> ulcers</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, B. Penicillin</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Blue</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Genital ulcers</p>\n<p>Penicillin <span class=\"customMeta\" data-dictid=\"aa1288c36b16927771814fa5aa84eb\">allergy</span> +</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Red</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Herpetic <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">genital</span> ulcers</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Acyclovir</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Yellow</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cefixime metronidazole, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>7</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Black</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inguinal bubo</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>8</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Brown</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anorectal <span class=\"customMeta\" data-dictid=\"9dd87431ba1692777186ecfb21d258\">discharge</span> syndrome</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cefixime, doxycycline</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe the rise in the occurrence of non-communicable diseases observed in recent years?", "options": [{"label": "A", "text": "Seasonal", "correct": false}, {"label": "B", "text": "Cyclical", "correct": false}, {"label": "C", "text": "Periodic", "correct": false}, {"label": "D", "text": "Secular", "correct": true}], "correct_answer": "D. Secular", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following does not require precautions for airborne transmission?", "options": [{"label": "A", "text": "Tuberculosis", "correct": false}, {"label": "B", "text": "Herpes Zoster", "correct": true}, {"label": "C", "text": "Measles", "correct": false}, {"label": "D", "text": "Chicken Pox", "correct": false}], "correct_answer": "B. Herpes Zoster", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - <span class=\"customMeta\" data-dictid=\"e502fd2a6816927771880ae17fc163\">Herpes</span> Z\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the serum level of tetanus antitoxin required for clinical protection?", "options": [{"label": "A", "text": "&gt;0.1 IU/ml", "correct": false}, {"label": "B", "text": "&gt;0. 01 IU/ml", "correct": true}, {"label": "C", "text": "&gt;0.001 IU/ml", "correct": false}, {"label": "D", "text": "&gt;0.0001 IU/ml", "correct": false}], "correct_answer": "B. >0. 01 IU/ml", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - &gt;0.01 IU/ml.\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the recommended treatment for a resident doctor who experiences a needlestick injury while attending to an HIV positive patient?", "options": [{"label": "A", "text": "Zidovudine + Lamivudine", "correct": false}, {"label": "B", "text": "Zidovudine + Lamivudine + Nevirapine", "correct": false}, {"label": "C", "text": "Zidovudine + Lamivudine + Indinavir", "correct": true}, {"label": "D", "text": "Zidovudine + Nevirapine", "correct": false}], "correct_answer": "C. Zidovudine + Lamivudine + Indinavir", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of vaccine is the Diphtheria vaccine?", "options": [{"label": "A", "text": "Polysaccharide vaccine", "correct": false}, {"label": "B", "text": "Toxoid", "correct": true}, {"label": "C", "text": "Killed vaccine", "correct": false}, {"label": "D", "text": "Live attenuated vaccine", "correct": false}], "correct_answer": "B. Toxoid", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which one of the following methods does not effectively prevent the transmission of COVID-19?", "options": [{"label": "A", "text": "Face mask", "correct": false}, {"label": "B", "text": "1% glutaraldehyde", "correct": true}, {"label": "C", "text": "70% alcohol", "correct": false}, {"label": "D", "text": "Hand washing", "correct": false}], "correct_answer": "B. 1% glutaraldehyde", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the next course of action in managing a 24-month-old child weighing 11 kg who was presented to the pediatric OPD with a respiratory rate of 38/min and chest indrawing observed during examination?", "options": [{"label": "A", "text": "Oral amoxicillin for five days", "correct": true}, {"label": "B", "text": "Urgent referral to the tertiary care centre immediately", "correct": false}, {"label": "C", "text": "Administer IV antibiotics and ask the patient to be brought after 24 hours", "correct": false}, {"label": "D", "text": "Start antipyretics urgently", "correct": false}], "correct_answer": "A. Oral amoxicillin for five days", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th>Clinical Signs</th>\n<th>Classification</th>\n<th>Treatment / Action</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>No fast breathing, no chest indrawing, no danger</td>\n<td>No pneumonia</td>\n<td>Home care, fluids, continued feeding, follow-up</td>\n</tr>\n<tr>\n<td>Fast breathing and/or chest indrawing</td>\n<td>Pneumonia</td>\n<td>Oral amoxicillin, home care, follow-up</td>\n</tr>\n<tr>\n<td>Any general danger sign* or <span class=\"customMeta\" data-dictid=\"c8af142f48169277719965c593fa0b\">stridor</span> in calm child</td>\n<td>Severe pneumonia</td>\n<td>Injectable antibiotics, urgent referral to hospital </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to NCEP-ATP III guidelines, which of the following does not meet the criteria for metabolic syndrome?", "options": [{"label": "A", "text": "Hypertriglyceridemia", "correct": false}, {"label": "B", "text": "High LDL", "correct": true}, {"label": "C", "text": "Central obesity", "correct": false}, {"label": "D", "text": "Hypertension", "correct": false}], "correct_answer": "B. High LDL", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The patient presents with a clean-cut injury that is not torn. He mentions receiving a tetanus vaccination approximately 10 years ago. What is the appropriate course of action?", "options": [{"label": "A", "text": "Full course of tetanus vaccination", "correct": false}, {"label": "B", "text": "Single dose tetanus toxoid", "correct": true}, {"label": "C", "text": "Tetanus toxoid + immunoglobulin", "correct": false}, {"label": "D", "text": "Non vaccination needed", "correct": false}], "correct_answer": "B. Single dose tetanus toxoid", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the association of Project MONICA?", "options": [{"label": "A", "text": "Cardiovascular diseases", "correct": true}, {"label": "B", "text": "Cervical Cancer", "correct": false}, {"label": "C", "text": "Breast Cancer", "correct": false}, {"label": "D", "text": "Road Traffic Accidents", "correct": false}], "correct_answer": "A. Cardiovascular diseases", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">Cardiovascular</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which influenza virus caused the pandemic that took place in 2009?", "options": [{"label": "A", "text": "H1N1", "correct": true}, {"label": "B", "text": "H5N1", "correct": false}, {"label": "C", "text": "H5N7", "correct": false}, {"label": "D", "text": "H3N2", "correct": false}], "correct_answer": "A. H1N1", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - H1N\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the duration after which the polymorphic rash of Varicella is no longer contagious?", "options": [{"label": "A", "text": "4 days after appearance of lesions", "correct": false}, {"label": "B", "text": "7 days after appearance of lesions", "correct": false}, {"label": "C", "text": "14 days after appearance of lesions", "correct": false}, {"label": "D", "text": "After crust formation over lesions", "correct": true}], "correct_answer": "D. After crust formation over lesions", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Agent</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>Varicella-zoster virus (HHV 3- Human Herpes Virus 3)</li>\n<li>Double-stranded DNA virus.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Source of infection</strong><br/>\n\t\t\t </p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Scabs are not infectious, but the <span class=\"customMeta\" data-dictid=\"4b0fee14c816927772016e67cf3a13\">vesicular</span> fluid is infectious.<strong> (Option D)</strong></li>\n<li>Airborne- spreads via both <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> infection and <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">droplet</span> nuclei</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Period of communicability</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>1-2 days before and 4-5 days after the onset of the <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> (crust formation)</li>\n<li>Secondary attack rate- 85%</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Host factors</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Age: <10 years</li>\n<li>Very common in school-going children</li>\n<li>One attack gives lifelong immunity</li>\n<li>Reactivation can occur as <span class=\"customMeta\" data-dictid=\"cf329b8cef169277720107b1efa15b\">Varicella</span> <span class=\"customMeta\" data-dictid=\"03350c16f71692777202dbca70976e\">zoster</span> infection in later age</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Environmental factors</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>More common in winter and early spring</li>\n<li>The virus can survive outside the body for 24-48 hours.</li>\n<li>Disinfectants easily kill the virus.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Incubation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>More common in winter and early spring</li>\n<li>The virus can survive outside the body for 24-48 hours.</li>\n<li>Disinfectants easily kill the virus.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Komal, a 2-year-old girl is brought to the clinic with a high fever, cough, red eyes, and rash. Parents say that the rash started on the forehead and behind the ears, then subsequently spread to the neck and body. On examination, a confluent maculopapular rash is noted as shown below. Which of the following is false regarding this child's condition?", "options": [{"label": "A", "text": "The period of infectivity is 3 days before and 5 days after the appearance of rash", "correct": false}, {"label": "B", "text": "The most common cause of death is subacute sclerosing panencephalitis", "correct": true}, {"label": "C", "text": "Warthin-Finkeldey giant cells are associated with the disease", "correct": false}, {"label": "D", "text": "Koplik spots are pathognomonic", "correct": false}], "correct_answer": "B. The most common cause of death is subacute sclerosing panencephalitis", "question_images": ["https://image.prepladder.com/content/6BKtIi2C1m3RDkkc9mv81746771773.png"], "explanation_images": ["https://image.prepladder.com/content/2JSOmGWS5t5su8JEacnS1746771881.png", "https://image.prepladder.com/content/CVFh2OnLDSAUTnPqFBIR1746771871.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Causative agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>ssRNA paramyxovirus</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Incubation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>10 days from exposure to onset of fever and 14 days to the appearance of rash</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Source of infection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Person with measles</li>\n<li>Infective material</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Period of communicability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Roughly 4 days before and 4 days after the appearance of <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> <strong>(Option A ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Clinical features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Prodromal stage</strong>:</p>\n<ul>\n<li>Fever</li>\n<li>Cough</li>\n<li>Coryza with sneezing</li>\n<li>Conjunctivitis with lacrimation</li>\n<li><strong>Koplik’s spots-</strong><em> </em><strong>grayish-white spots on the <span class=\"customMeta\" data-dictid=\"d72626dd5c1692777183f1c92b2deb\">buccal</span> <span class=\"customMeta\" data-dictid=\"31ae8f4dc51692777193069d92be37\">mucosa</span> (Pathognomonic feature) (Option D ruled out)</strong></li>\n</ul>\n<p> </p>\n<p><strong>Eruptive stage</strong>:</p>\n<ul>\n<li>Dusky red macular/maculopapular rash, which<strong> starts behind the ears</strong> and progresses to the face, neck and then to trunks and limbs.</li>\n<li>In the absence of complications, the lesions and fever disappear after 3-4 days.</li>\n</ul>\n<p> </p>\n<p><strong>Post <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> stage:</strong></p>\n<ul>\n<li>After the <span class=\"customMeta\" data-dictid=\"8d4614c31316927771874f34d090a9\">eruptive</span> stage, it leads to weight loss, weakness, fatigue, diarrhea.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Isolation period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>7 days from the onset of rash</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Difference between <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> and <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> rash</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Both rashes are maculopapular</li>\n<li>The <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> in <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> is <strong>more <span class=\"customMeta\" data-dictid=\"8793eea96e169277718446e2ea701a\">confluent</span> </strong>and botchy, whereas the <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> in <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">rubella</span> is <span class=\"customMeta\" data-dictid=\"635650799116927771862d7cb568f4\">discrete</span> or non-confluent.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Clinically diagnosed based on <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> and koplik’s spots</li>\n<li>Gold standard: <strong>PCR</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Treatment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>No specific treatment</li>\n<li>Symptomatic management only</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Complications of Measles</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Otitis Media </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>M/c <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> in young children. Covered under <strong>IMNCI programme.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Subacute <span class=\"customMeta\" data-dictid=\"0aa16e71201692777198c4c07e2392\">Sclerosing</span> <span class=\"customMeta\" data-dictid=\"871ad2a8051692777194a3f7cd0309\">Panencephalitis</span> (SSPE)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>A rare, fatal brain disease that occurs years after <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> infection, causing neurological damage and mortality.<strong> </strong><strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Pneumonia</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>Most common fatal <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> & cause of death.<strong> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Persistent Diarrhea</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>Long-lasting diarrhea, potentially leading to <strong>protein-losing enteropathy</strong>.</p>\n<p>Prevalent in developing countries, impacting infants significantly.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Keratomalacia</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>Measles causes <strong>acute vitamin A <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> </strong>in children.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Giant Cell Pneumonia, <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">Measles</span> Inclusion-body Encephalitis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>Primarily affects <span class=\"customMeta\" data-dictid=\"a3cc9f976916927771895692a1a8a0\">immunocompromised</span> individuals.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Other complications: </strong>Laryngotracheobronchitis (Croup), Encephalitis, Spontaneous abortion, Premature delivery</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Within what time frame should Cholera, a disease that requires notification, be reported to the World Health Organization?", "options": [{"label": "A", "text": "72 hours", "correct": false}, {"label": "B", "text": "24 hours", "correct": true}, {"label": "C", "text": "12 hours", "correct": false}, {"label": "D", "text": "2 days", "correct": false}], "correct_answer": "B. 24 hours", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Zika virus is transmitted by:", "options": [{"label": "A", "text": "Aedes aegypti", "correct": true}, {"label": "B", "text": "Culex", "correct": false}, {"label": "C", "text": "Anopheles", "correct": false}, {"label": "D", "text": "Phlebotomus papatasii", "correct": false}], "correct_answer": "A. Aedes aegypti", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which among the following regions is free from rabies?", "options": [{"label": "A", "text": "Sikkim", "correct": false}, {"label": "B", "text": "Kerala", "correct": false}, {"label": "C", "text": "Lakshadweep", "correct": true}, {"label": "D", "text": "Jammu and Kashmir", "correct": false}], "correct_answer": "C. Lakshadweep", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C) Lakshadweep </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:675px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Agent factor</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>Zoonotic disease with a 100% fatality rate</li>\n<li>Lyssavirus type 1\n\t\t\t\t<ul>\n<li>Bullet-shaped RNA virus (Rhabdoviridae family).</li>\n</ul>\n</li>\n<li>Two Types of Viruses:\n\t\t\t\t<ul>\n<li>Street virus:\n\t\t\t\t\t<ul>\n<li>Cause natural infection (Rabies)</li>\n<li>Variable <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period (7 days-months)</li>\n</ul>\n</li>\n<li>Fixed virus:\n\t\t\t\t\t<ul>\n<li>Fixed <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period (5-7 days)</li>\n<li>For vaccine production.</li>\n<li>It does not demonstrate Negri bodies.</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Host factors</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Occupation\n\t\t\t\t<ul>\n<li>Dog handlers</li>\n<li>Forest workers</li>\n<li>Veterinarians.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmission</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Incubation period: 2-8 weeks</li>\n<li>Animal bite: Dog, Cat, Monkey or Wild animal (all need vaccination)</li>\n<li>Licks on abraded skin are considered as the route of transmission.</li>\n<li>Rodent bites don't require vaccination.</li>\n<li>Human bite is a very dangerous bite (no documented cases yet)</li>\n<li>In India:\n\t\t\t\t<ul>\n<li>Urban <span class=\"customMeta\" data-dictid=\"1486544453169277719764b31c563f\">Rabies</span> is very common.</li>\n<li>Rabies is not found around water-bounded areas (Lakshadweep and Andaman and Nicobar Islands)<strong> (Option C)</strong></li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 25-year-old male presented to the hospital with fever, dry cough, sore throat, and muscle pain. RT-PCR confirmed the patient to be positive for COVID 19. Which of the following statements is incorrect regarding the epidemiology of Covid-19?", "options": [{"label": "A", "text": "1% Case Fatality rate in age ≥ 50 years", "correct": true}, {"label": "B", "text": "&gt; 5% Case Fatality rate in age ≥ 80 years", "correct": false}, {"label": "C", "text": "Mode of transmission is droplets, contacts", "correct": false}, {"label": "D", "text": "Remdesivir is an emergency use authorization (EUA) from the FDA for COVID-19", "correct": false}], "correct_answer": "A. 1% Case Fatality rate in age ≥ 50 years", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - 1% Case Fatality rate in age ≥ 5\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Aspect</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>COVID-19</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Virus</p>\n</td>\n<td>\n<ul>\n<li>\n<p>SARS-CoV-2 (Severe <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">Acute</span> <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">Respiratory</span> Syndrome <span class=\"customMeta\" data-dictid=\"d2d956f41b1692777185eb9af8193f\">Coronavirus</span> 2)</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Disease</p>\n</td>\n<td>\n<ul>\n<li>\n<p>COVID-19 (Coronavirus Disease 2019)</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Transmission</p>\n</td>\n<td>\n<ul>\n<li>\n<p>Respiratory droplets (coughing, sneezing, talking)</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Incubation Period</p>\n</td>\n<td>\n<ul>\n<li>\n<p>2-14 days (average: 5-6 days)</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Symptoms</p>\n</td>\n<td>\n<ul>\n<li>\n<p>Fever</p>\n</li>\n<li>\n<p>Cough</p>\n</li>\n<li>\n<p>Shortness of breath</p>\n</li>\n<li>\n<p>Fatigue</p>\n</li>\n<li>\n<p>Body aches</p>\n</li>\n<li>\n<p>Loss of taste or smell</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Severity</p>\n</td>\n<td>\n<ul>\n<li>\n<p>Mild to severe (may result in <span class=\"customMeta\" data-dictid=\"277d6f3ee2169277718938e321258f\">hospitalization</span> or death)</p>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A patient from a North-Eastern state was diagnosed to have an infection with P. falciparum malaria. What is the most appropriate treatment for this patient?", "options": [{"label": "A", "text": "Artemether plus lumefantrine", "correct": true}, {"label": "B", "text": "Sulfadoxine plus pyrimethamine", "correct": false}, {"label": "C", "text": "Chloroquine", "correct": false}, {"label": "D", "text": "Mefloquine", "correct": false}], "correct_answer": "A. Artemether plus lumefantrine", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A child was brought to you with complaints of fever, malaise, and a rash. You diagnose the child with measles. What is the recommended period of isolation for this disease?", "options": [{"label": "A", "text": "From the onset of rash to 3 days after rash", "correct": false}, {"label": "B", "text": "2 weeks before rash to 1 week after rash", "correct": false}, {"label": "C", "text": "From the onset of rash to 5 days after rash", "correct": false}, {"label": "D", "text": "From the catarrhal stage to 4 days after rash", "correct": true}], "correct_answer": "D. From the catarrhal stage to 4 days after rash", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements regarding a nurse's needle stick injury during blood sampling from an HIV-positive patient is false?", "options": [{"label": "A", "text": "Washing hands with soap and water", "correct": false}, {"label": "B", "text": "Administration of tenofovir monotherapy", "correct": true}, {"label": "C", "text": "Measure baseline viral markers of health care worker immediately", "correct": false}, {"label": "D", "text": "Measure viral markers after 6 weeks", "correct": false}], "correct_answer": "B. Administration of tenofovir monotherapy", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Administration of <span class=\"customMeta\" data-dictid=\"8ed4f962f416927772008ece0f551e\">tenofovir</span> monoth\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The current recommended treatment for paucibacillary leprosy is the Multi-Drug Therapy (MDT) which includes the combination of rifampicin, dapsone, and clofazimine. The latest recommended regimen is:", "options": [{"label": "A", "text": "2 drug therapy for 6 months", "correct": true}, {"label": "B", "text": "3 drug therapy for 12 months", "correct": false}, {"label": "C", "text": "2 drug therapy for 12 months", "correct": false}, {"label": "D", "text": "3 drug therapy for 6 months", "correct": false}], "correct_answer": "A. 2 drug therapy for 6 months", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - 2 drug therapy for 6 month\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td style=\"text-align:center\"><strong>Types</strong></td>\n<td colspan=\"2\" rowspan=\"1\" style=\"text-align:center\"><strong>Pauci-Bacillary (PB)</strong></td>\n<td colspan=\"2\" rowspan=\"1\" style=\"text-align:center\"><strong>Pauci-Bacillary (PB)</strong></td>\n</tr>\n<tr>\n<td> </td>\n<td style=\"text-align:center\"><strong>Adult</strong></td>\n<td style=\"text-align:center\"><strong>Child (9-14 years)</strong></td>\n<td style=\"text-align:center\"><strong>Adult</strong></td>\n<td style=\"text-align:center\"><strong>Child (9-14 years)</strong></td>\n</tr>\n<tr>\n<td>Duration of Treatment</td>\n<td>6 months</td>\n<td>6 months</td>\n<td>12 months</td>\n<td>600 mg once a month</td>\n</tr>\n<tr>\n<td>Dapsone</td>\n<td>100 mg Daily</td>\n<td>50 mg Daily</td>\n<td>100 mg Daily</td>\n<td>450 mg once a month</td>\n</tr>\n<tr>\n<td>Clofazimine</td>\n<td>300 mg once a month & 50 mg daily</td>\n<td>150 mg once a month & 50 mg <span class=\"customMeta\" data-dictid=\"d65e6c0e1616927771818ab537250d\">alternate</span> day</td>\n<td>300 mg once a month & 50 mg daily</td>\n<td>600 mg once a month</td>\n</tr>\n<tr>\n<td>Rifampicin</td>\n<td>600 mg once a month</td>\n<td>450 mg once a month</td>\n<td>150 mg once a month</td>\n<td>450 mg once</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "At what point can a patient with dengue hemorrhagic shock be released from the hospital?", "options": [{"label": "A", "text": "No episode of fever for more than 24 hours with paracetamol", "correct": false}, {"label": "B", "text": "After the return of appetite", "correct": true}, {"label": "C", "text": "Urine output more than 200ml", "correct": false}, {"label": "D", "text": "After 24hrs from recovery of shock", "correct": false}], "correct_answer": "B. After the return of appetite", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 7-year-old child presents with progressive cognitive decline, seizures, and motor abnormalities. The diagnosis confirms the presence of SSPE. Which initial infection is SSPE a complication of?", "options": [{"label": "A", "text": "Measles", "correct": true}, {"label": "B", "text": "Mumps", "correct": false}, {"label": "C", "text": "Rubella", "correct": false}, {"label": "D", "text": "Varicella", "correct": false}], "correct_answer": "A. Measles", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A: M\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In which disease are Koplik spots observed?", "options": [{"label": "A", "text": "Mumps", "correct": false}, {"label": "B", "text": "Measles", "correct": true}, {"label": "C", "text": "Rubella", "correct": false}, {"label": "D", "text": "Varicella", "correct": false}], "correct_answer": "B. Measles", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/TAOb9rTcq31Yip6520Z11687176516.png", "https://image.prepladder.com/content/OEXVS01NsLTPWRlSgbX41687176552.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How would you approach the treatment of a 40-year-old male with fever, abdominal pain, and a diagnosis of HIV-TB?", "options": [{"label": "A", "text": "ATT and ART simultaneously", "correct": false}, {"label": "B", "text": "First start ATT then give ART", "correct": true}, {"label": "C", "text": "ATT only", "correct": false}, {"label": "D", "text": "First start ART and then give ATT", "correct": false}], "correct_answer": "B. First start ATT then give ART", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "African suburb, all population given chemoprophylaxis for Malaria. This is", "options": [{"label": "A", "text": "Primordial", "correct": false}, {"label": "B", "text": "Primary", "correct": true}, {"label": "C", "text": "Secondary", "correct": false}, {"label": "D", "text": "Tertiary", "correct": false}], "correct_answer": "B. Primary", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Type of Prevention</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Focus</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Example</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Primordial Prevention</strong></p>\n</td>\n<td>\n<p>Targets social, economic, and environmental determinants of health to prevent the <span class=\"customMeta\" data-dictid=\"717a791bdf1692777187f5f058180c\">emergence</span> of risk factors.</p>\n</td>\n<td>\n<p>Addressing underlying causes of disease</p>\n</td>\n<td>\n<p>Promoting healthy urban planning to reduce <span class=\"customMeta\" data-dictid=\"484e72500916927771982789485f51\">sedentary</span> lifestyle and obesity.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Primary Prevention</strong></p>\n</td>\n<td>\n<p>Aims to prevent the occurrence of a disease or condition before it develops.</p>\n</td>\n<td>\n<p>Reducing the risk of disease</p>\n</td>\n<td>\n<p>Vaccination programs, health education on healthy lifestyle practices.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Secondary Prevention</strong></p>\n</td>\n<td>\n<p>Focuses on early <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> and prompt treatment of a disease or condition to prevent its <span class=\"customMeta\" data-dictid=\"3c305b384216927771969ca4166493\">progression</span> and minimize its impact.</p>\n</td>\n<td>\n<p>Early <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> and intervention</p>\n</td>\n<td>\n<p>Regular screenings for breast cancer, <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> testing, and treatment.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Tertiary Prevention</strong></p>\n</td>\n<td>\n<p>Aims to manage and reduce the complications and disabilities associated with a disease to improve the quality of life of individuals already affected.</p>\n</td>\n<td>\n<p>Managing complications and disabilities</p>\n</td>\n<td>\n<p>Cardiac rehabilitation programs after a heart attack, <span class=\"customMeta\" data-dictid=\"1f210719c116927771959b3083cb18\">physiotherapy</span> for stroke patients.</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which is the recommended chemoprophylaxis for an individual traveling to a region endemic for malaria?", "options": [{"label": "A", "text": "Lumefantrine", "correct": false}, {"label": "B", "text": "Pyrimethamine", "correct": false}, {"label": "C", "text": "Chloroquine", "correct": true}, {"label": "D", "text": "Quinine", "correct": false}], "correct_answer": "C. Chloroquine", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align:center\"><strong>Medication</strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>Dosage</strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>Indication</strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>Common Side Effects</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Chloroquine</p>\n</td>\n<td>\n<p>300 mg once weekly</p>\n</td>\n<td>\n<p>Areas with chloroquine-sensitive Plasmodium species</p>\n</td>\n<td>\n<p>Nausea, headache, blurred vision</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Atovaquone-Proguanil (Malarone)</p>\n</td>\n<td>\n<ul>\n<li>Adult: 1 <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> daily</li>\n<li>Pediatric: Weight-based dosage</li>\n</ul>\n</td>\n<td>\n<p>Areas with chloroquine-resistant Plasmodium species</p>\n</td>\n<td>\n<p>Abdominal pain, headache, nausea</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Doxycycline</p>\n</td>\n<td>\n<ul>\n<li>Adult: 100 mg daily</li>\n<li>Pediatric: Weight-based dosage</li>\n</ul>\n</td>\n<td>\n<p>Areas with chloroquine-resistant Plasmodium species</p>\n</td>\n<td>\n<p>Nausea, sun sensitivity, gastrointestinal upset</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Mefloquine</p>\n</td>\n<td>\n<ul>\n<li>Adult: 250 mg once weekly</li>\n<li>Pediatric: Weight-based dosage</li>\n</ul>\n</td>\n<td>\n<p>Areas with chloroquine-resistant Plasmodium species</p>\n</td>\n<td>\n<p>Nausea, dizziness, vivid dreams</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Yellow fever vaccine is valid for", "options": [{"label": "A", "text": "10 years", "correct": false}, {"label": "B", "text": "Life long", "correct": true}, {"label": "C", "text": "5 years", "correct": false}, {"label": "D", "text": "1 years", "correct": false}], "correct_answer": "B. Life long", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "SARS is caused by novel variant of", "options": [{"label": "A", "text": "Lyssavirus", "correct": false}, {"label": "B", "text": "Coronavirus", "correct": true}, {"label": "C", "text": "Pox virus", "correct": false}, {"label": "D", "text": "Toga virus", "correct": false}], "correct_answer": "B. Coronavirus", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Most sensitive test for microfilariae", "options": [{"label": "A", "text": "DEC challenge test", "correct": false}, {"label": "B", "text": "Immunofluorescence test", "correct": false}, {"label": "C", "text": "Membrane filter concentration technique", "correct": true}, {"label": "D", "text": "Thick films", "correct": false}], "correct_answer": "C. Membrane filter concentration technique", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which is not a contraindication for OPV?", "options": [{"label": "A", "text": "Leukaemia", "correct": false}, {"label": "B", "text": "Diarrhoea", "correct": true}, {"label": "C", "text": "Malignancy", "correct": false}, {"label": "D", "text": "Immunocompromised", "correct": false}], "correct_answer": "B. Diarrhoea", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Diarrh\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "N95 respirator is used for", "options": [{"label": "A", "text": "Droplet precaution", "correct": false}, {"label": "B", "text": "Airborne precaution", "correct": true}, {"label": "C", "text": "Contact precaution", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "B. Airborne precaution", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Worms, bugs, parasites attached in the clothing’s of a person is called:", "options": [{"label": "A", "text": "Infestation", "correct": false}, {"label": "B", "text": "Contamination", "correct": true}, {"label": "C", "text": "Infection", "correct": false}, {"label": "D", "text": "Contagion", "correct": false}], "correct_answer": "B. Contamination", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - C\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "If the mother is found to be positive for HBsAg at 37 weeks of pregnancy, what is the recommended course of action for the baby?", "options": [{"label": "A", "text": "Hep B vaccine only", "correct": false}, {"label": "B", "text": "Hep B vaccine + HBIG", "correct": true}, {"label": "C", "text": "First HBIG then Hep B after 1 month", "correct": false}, {"label": "D", "text": "Only HBIG", "correct": false}], "correct_answer": "B. Hep B vaccine + HBIG", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B vaccine + HBIG\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following diseases are NOT transmitted by this vector ?", "options": [{"label": "A", "text": "Kala azar", "correct": false}, {"label": "B", "text": "Oriental sore", "correct": false}, {"label": "C", "text": "Chagas disease", "correct": true}, {"label": "D", "text": "Cutaneous leishmaniasis", "correct": false}], "correct_answer": "C. Chagas disease", "question_images": ["https://image.prepladder.com/content/sSkDeteyiNOlFgHvIgzs1687242590.jpeg"], "explanation_images": [], "explanation": "<p>Correct Option C - Chag\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Vector</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Vector-Borne Disease</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Mosquitoes</strong></p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>\n<p>Malaria</p>\n</li>\n<li>\n<p>Dengue</p>\n</li>\n<li>\n<p>Zika</p>\n</li>\n<li>\n<p>Chikungunya</p>\n</li>\n<li>\n<p>Yellow Fever</p>\n</li>\n<li>\n<p>West Nile Virus</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Ticks</strong></p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>\n<p>Lyme Disease</p>\n</li>\n<li>\n<p>Rocky Mountain</p>\n</li>\n<li>\n<p>Spotted Fever</p>\n</li>\n<li>\n<p>Ehrlichiosis</p>\n</li>\n<li>\n<p>Babesiosis</p>\n</li>\n<li>\n<p>Tick-borne</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Sandflies</strong></p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>\n<p>Leishmaniasis</p>\n</li>\n<li>\n<p>Sandfly Fever</p>\n</li>\n<li>\n<p>Visceral <span class=\"customMeta\" data-dictid=\"f60a0a7ad716927771916ed83e3586\">Leishmaniasis</span> (Kala-azar)</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Fleas</strong></p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>\n<p>Plague</p>\n</li>\n<li>\n<p>Murine Typhus</p>\n</li>\n<li>\n<p>Bartonellosis</p>\n</li>\n<li>\n<p>Tularemia</p>\n</li>\n<li>\n<p>Rickettsialpox</p>\n</li>\n<li>\n<p>Cat Scratch Disease</p>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Amplifier host of Japanese encephalitis:", "options": [{"label": "A", "text": "Pig", "correct": true}, {"label": "B", "text": "Dogs", "correct": false}, {"label": "C", "text": "Cats", "correct": false}, {"label": "D", "text": "Birds", "correct": false}], "correct_answer": "A. Pig", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Pig\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which disease is considered a notifiable condition according to the World Health Organization (WHO)?", "options": [{"label": "A", "text": "Yellow fever", "correct": true}, {"label": "B", "text": "Polio", "correct": false}, {"label": "C", "text": "HIV", "correct": false}, {"label": "D", "text": "Malaria", "correct": false}], "correct_answer": "A. Yellow fever", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Amount of sodium in ORS as per WHO:", "options": [{"label": "A", "text": "65 mmol/L", "correct": false}, {"label": "B", "text": "75 mmol/L", "correct": true}, {"label": "C", "text": "20 mmol/L", "correct": false}, {"label": "D", "text": "100 mmol/L", "correct": false}], "correct_answer": "B. 75 mmol/L", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - 75 mmol/L\n<table>\n<tbody>\n<tr>\n<td colspan=\"2\">\n<p style=\"text-align: center;\"><strong>Conent</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Osmolar</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Na<sup>+</sup> Chloride</p>\n</td>\n<td>\n<p>2.6 g</p>\n</td>\n<td rowspan=\"5\">\n<ul>\n<li>Na<sup>+</sup>: 75 mmol/L</li>\n<li>K<sup>+</sup>: 20</li>\n<li>Cr</li>\n<li>Citrate : 10</li>\n<li>Glucose</li>\n<li>245 mmol/L</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>K<sup>+</sup> Chloride</p>\n</td>\n<td>\n<p>1.5g</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Na<sup>+</sup> Citrate</p>\n</td>\n<td>\n<p>2.9g</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Glucose</p>\n</td>\n<td>\n<p>13.5g</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Total </strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>20.5g</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Why is sugar added to ORS during its preparation for the treatment of a 25-year-old patient with diarrheal episodes who presented to the hospital?", "options": [{"label": "A", "text": "Enhance acceptability", "correct": false}, {"label": "B", "text": "Enhance salt absorption", "correct": true}, {"label": "C", "text": "Enhance shelf life", "correct": false}, {"label": "D", "text": "Enhance taste", "correct": false}], "correct_answer": "B. Enhance salt absorption", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Enhance salt absorption: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Cyclopropagative life cycle is defined as the disease agent which undergoes cyclical change and multiplies in the body of the arthropod . This type of life cycle is seen in which of the following disease?", "options": [{"label": "A", "text": "Malaria", "correct": true}, {"label": "B", "text": "Plague", "correct": false}, {"label": "C", "text": "Filarial", "correct": false}, {"label": "D", "text": "Yellow fever", "correct": false}], "correct_answer": "A. Malaria", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Malaria: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the suitable statistical test to determine if obesity is a significant risk factor for breast cancer in a 42-year-old woman who is obese and seeking medical care at a rural primary health center?", "options": [{"label": "A", "text": "Student's paired 't' test", "correct": false}, {"label": "B", "text": "Student's unpaired 't' test", "correct": false}, {"label": "C", "text": "Chi-square test", "correct": true}, {"label": "D", "text": "Wilcoxon's signed rank test", "correct": false}], "correct_answer": "C. Chi-square test", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A paradoxical carrier is defined as:", "options": [{"label": "A", "text": "A person who sheds pathogens during incubation period", "correct": false}, {"label": "B", "text": "A carrier who acquired pathogen from another carrier", "correct": true}, {"label": "C", "text": "A person who acquired pathogen from patient", "correct": false}, {"label": "D", "text": "A patient who became a carrier", "correct": false}], "correct_answer": "B. A carrier who acquired pathogen from another carrier", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following options does not qualify as personal protective equipment (PPE)?", "options": [{"label": "A", "text": "Goggles", "correct": false}, {"label": "B", "text": "Gloves", "correct": false}, {"label": "C", "text": "Face shield", "correct": false}, {"label": "D", "text": "Lab coat", "correct": true}], "correct_answer": "D. Lab coat", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - L\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements regarding Rubella infection is incorrect?", "options": [{"label": "A", "text": "It is a type of droplet infection", "correct": false}, {"label": "B", "text": "Vertical transmission is possible", "correct": false}, {"label": "C", "text": "Infection in early pregnancy causes a milder form of disease in the fetus", "correct": true}, {"label": "D", "text": "Fetus affected in late pregnancy may have only deafness", "correct": false}], "correct_answer": "C. Infection in early pregnancy causes a milder form of disease in the fetus", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What would be the most appropriate course of action to recommend for a resident doctor who has experienced a needlestick injury while collecting blood from an HIV-positive patient, and is now in need of post-exposure prophylaxis ?", "options": [{"label": "A", "text": "Zidovudine + Lamivudine for 4 weeks", "correct": false}, {"label": "B", "text": "Lamivudine + Tenofovir + Efavirenz for 4 weeks", "correct": false}, {"label": "C", "text": "Lamivudine + Tenofovir + Dolutegravir for 4 weeks", "correct": true}, {"label": "D", "text": "Zidovudine + Lamivudine + Nevirapine for 4 weeks", "correct": false}], "correct_answer": "C. Lamivudine + Tenofovir + Dolutegravir for 4 weeks", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Lamivudine + <span class=\"customMeta\" data-dictid=\"8ed4f962f416927772008ece0f551e\">Tenofovir</span> + <span class=\"customMeta\" data-dictid=\"ede6d62b71169277718679377f8c24\">Dolutegravir</span> for 4 weeks: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the Revised National Tuberculosis Control Programme organization structure, which of the following centres is the furthest from the core?", "options": [{"label": "A", "text": "District TB centre", "correct": false}, {"label": "B", "text": "Intermediate Reference Laboratory", "correct": false}, {"label": "C", "text": "Tuberculosis Unit", "correct": false}, {"label": "D", "text": "Designated Microscopy Centre", "correct": true}], "correct_answer": "D. Designated Microscopy Centre", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Sub-Centre: The sub-centre is the first point of contact for healthcare services at the village level.</li><li>↳ Sub-Centre:</li><li>↳ Designated Microscopy Centre (DMC): The DMC is located at the primary healthcare level, such as a Primary Health Centre (PHC) or a sub-district level health facility.</li><li>↳ Designated Microscopy Centre (DMC):</li><li>↳ Primary Health Centre (PHC): The PHC is a higher-level primary healthcare facility that serves as a referral center for sub-centres.</li><li>↳ Primary Health Centre (PHC):</li><li>↳ Community Health Centre (CHC): The CHC is a secondary level healthcare facility that serves as a referral center for PHCs.</li><li>↳ Community Health Centre (CHC):</li><li>↳ District TB Centre (DTC): The DTC is responsible for overseeing and coordinating TB control activities at the district level. (Option A)</li><li>↳ District TB Centre (DTC):</li><li>↳ (Option A)</li><li>↳ Intermediate Reference Laboratory (IRL): The IRL is typically located at the state or regional level. (Option B)</li><li>↳ Intermediate Reference Laboratory (IRL):</li><li>↳ (Option B)</li><li>↳ Tuberculosis Unit (Option C): The Tuberculosis Unit refers to a health unit or department that is responsible for the diagnosis, treatment, and management of TB patients.</li><li>↳ Tuberculosis Unit (Option C):</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the appropriate treatment for a 9-month-old infant experiencing diarrhea, who is consuming food adequately and displaying signs of thirst , with skin returning to normal within 2 seconds after being pinched?", "options": [{"label": "A", "text": "200-400 ml of ORS to be given in the first four hours.", "correct": false}, {"label": "B", "text": "400-700 ml of ORS to be given in the first four hours.", "correct": true}, {"label": "C", "text": "700-900 ml of ORS to be given in the first four hours.", "correct": false}, {"label": "D", "text": "In addition to the usual fluid intake, 100-200 ml should be given after each loose stool.", "correct": false}], "correct_answer": "B. 400-700 ml of ORS to be given in the first four hours.", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - 400-700 ml of <span class=\"customMeta\" data-dictid=\"dba8ab2e8416927771945fed398293\">ORS</span> to be given in the first four hou\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td><strong>Weight</strong></td>\n<td><6 kg</td>\n<td>6-10 kg</td>\n<td>10-12 kg</td>\n<td>12-19 kg</td>\n</tr>\n<tr>\n<td><strong>Age</strong></td>\n<td>Up to 4 months</td>\n<td>4-12 months</td>\n<td>12 months-2 years</td>\n<td>2-5 years</td>\n</tr>\n<tr>\n<td><strong>In ml</strong></td>\n<td>200-450</td>\n<td>450-800</td>\n<td>800-960</td>\n<td>960-1600</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe the likelihood of an infection occurring in a susceptible individual after coming into contact with an i nfectious person during the incubation period?", "options": [{"label": "A", "text": "Secondary attack rate", "correct": true}, {"label": "B", "text": "Case fatality rate", "correct": false}, {"label": "C", "text": "Primary attack rate", "correct": false}, {"label": "D", "text": "Tertiary attack rate", "correct": false}], "correct_answer": "A. Secondary attack rate", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Secondary attack\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following options does not represent a method of direct transmission of communicable diseases ?", "options": [{"label": "A", "text": "Vertical transmission", "correct": false}, {"label": "B", "text": "Contact with soil", "correct": false}, {"label": "C", "text": "Droplet nuclei", "correct": true}, {"label": "D", "text": "Droplet transmission", "correct": false}], "correct_answer": "C. Droplet nuclei", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - <span class=\"customMeta\" data-dictid=\"33843a1c3716927771867f807275d2\">Droplet</span> <span class=\"customMeta\" data-dictid=\"e6b47028191692777193eb698e43b6\">nuclei</span> (in bold letters)\n<table>\n<tbody>\n<tr>\n<td style=\"text-align:center\"><strong>Direct Transmission</strong></td>\n<td style=\"text-align:center\"><strong>Indirect Transmission</strong></td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Direct contact\n\t\t\t\t<ul>\n<li>E.g. Scabies, dermatitis</li>\n</ul>\n</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Vehicle borne\n\t\t\t\t<ul>\n<li>Blood borne - HIV, hepatitis</li>\n<li>Food borne - GI infections, <span class=\"customMeta\" data-dictid=\"f2f6f9068216927772016cacf26183\">typhoid</span> cholera.</li>\n<li>Water borne - GI infections, typhoid, cholera</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>Droplet infection</td>\n<td>\n<ul>\n<li>Droplet nuclei\n\t\t\t\t<ul>\n<li>Air borne</li>\n<li>Dust</li>\n<li>Diseases: Measles, chickenpox, TB, influenza, covid 19.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Contact with soil</li>\n<li>E.g. Tetanus</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Vector borne\n\t\t\t\t<ul>\n<li>Mechanical vector</li>\n<li>Biological <span class=\"customMeta\" data-dictid=\"1f7e7543bc16927772015cdb525c2b\">vector</span> - malaria</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Inoculation into skin or mucosa</li>\n<li>E.g. Dog bite, <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> by needle <span class=\"customMeta\" data-dictid=\"3cb00f13ee1692777196d9d02a760d\">prick</span> injury</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Fomite borne: <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">Non</span> living thing or <span class=\"customMeta\" data-dictid=\"47755ae5261692777190f28393bfca\">inanimate</span> object.\n\t\t\t\t<ul>\n<li>Contaminated door handles, tables, chairs etc.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Vertical transmission\n\t\t\t\t<ul>\n<li>From mother to baby.</li>\n<li>E.g.\n\t\t\t\t\t<ul>\n<li>1<sup>st</sup> <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> - Rubella, chickenpox.</li>\n<li>2<sup>nd</sup> <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> - parvovirus</li>\n<li>3<sup>rd</sup> <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> - Toxoplasmosis, <span class=\"customMeta\" data-dictid=\"ee831318721692777185479e65655e\">cytomegalovirus</span> infection, <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">hepatitis</span> B, syphilis.</li>\n<li>During delivery - HIV, Herpes.</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Unclean hands and fingers</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following areas is not endemic to Kala-Azar ?", "options": [{"label": "A", "text": "West Bengal", "correct": false}, {"label": "B", "text": "UP", "correct": false}, {"label": "C", "text": "Bihar", "correct": false}, {"label": "D", "text": "Assam", "correct": true}], "correct_answer": "D. Assam", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Endemic Disease</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>States/Regions with High Prevalence</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Malaria</p>\n</td>\n<td>\n<p>Odisha, Chhattisgarh, Jharkhand, Assam, Tripura</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Dengue Fever</p>\n</td>\n<td>\n<p>Delhi, Maharashtra, Tamil Nadu, Kerala, West Bengal</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Chikungunya</p>\n</td>\n<td>\n<p>Kerala, Tamil Nadu, Maharashtra, Karnataka, Delhi</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Tuberculosis (TB)</p>\n</td>\n<td>\n<p>Bihar, Uttar Pradesh, Rajasthan, Maharashtra, Tamil Nadu</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Kala-Azar (Visceral Leishmaniasis)</p>\n</td>\n<td>\n<p>Bihar, West Bengal, Uttar Pradesh, Jharkhand</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Japanese Encephalitis</p>\n</td>\n<td>\n<p>Assam, Uttar Pradesh, Bihar, West Bengal, Tamil Nadu</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Typhoid Fever</p>\n</td>\n<td>\n<p>Punjab, Uttar Pradesh, Haryana, Bihar, Rajasthan</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Cholera</p>\n</td>\n<td>\n<p>West Bengal, Bihar, Odisha, Maharashtra, Uttar Pradesh</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Filariasis</p>\n</td>\n<td>\n<p>Uttar Pradesh, Bihar, West Bengal, Tamil Nadu</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Leprosy</p>\n</td>\n<td>\n<p>Uttar Pradesh, Maharashtra, Bihar, Chhattisgarh, Odisha</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How can the diagnosis of Rabies be quickly made in a living dog that is displaying symptoms of the disease?", "options": [{"label": "A", "text": "Fluorescent antibody test", "correct": true}, {"label": "B", "text": "Corneal impression", "correct": false}, {"label": "C", "text": "Inoculation in mouse", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "A. Fluorescent antibody test", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Fluorescent <span class=\"customMeta\" data-dictid=\"9d7a12cab116927771811a0079086d\">antibody</span&g\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A school has a small outbreak were children are showing symptoms like runny nose, cough, fever and skin rash. The doctors identified it as measles outbreak. Which of the following is the correct time to give post exposure measles vaccine?", "options": [{"label": "A", "text": "3-4 days", "correct": true}, {"label": "B", "text": "7-10 days", "correct": false}, {"label": "C", "text": "10-14 days", "correct": false}, {"label": "D", "text": "1-6 months", "correct": false}], "correct_answer": "A. 3-4 days", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - 3-4\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Cholera period of Isolation :", "options": [{"label": "A", "text": "3 days after starting Tetracycline till 48 hours of antibiotics", "correct": true}, {"label": "B", "text": "7 days after starting Tetracycline", "correct": false}, {"label": "C", "text": "7-14 days", "correct": false}, {"label": "D", "text": "Until 3 weeks of effective antibiotic therapy", "correct": false}], "correct_answer": "A. 3 days after starting Tetracycline till 48 hours of antibiotics", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the mainstay of management for a patient diagnosed with dengue and presenting with warning signs ?", "options": [{"label": "A", "text": "IV Fluids", "correct": true}, {"label": "B", "text": "Platelets", "correct": false}, {"label": "C", "text": "Cryoglobulins", "correct": false}, {"label": "D", "text": "FFP", "correct": false}], "correct_answer": "A. IV Fluids", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - IV Flu\n<table>\n<thead>\n<tr>\n<th scope=\"col\" style=\"vertical-align:bottom\">\n<p><strong>Aspect of Management</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:bottom\">\n<p><strong>Recommendations</strong></p>\n</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\n<p>Fluid Management</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Intravenous (IV) fluids to maintain <span class=\"customMeta\" data-dictid=\"a195b609f61692777189953f3adaa6\">hydration</span> and prevent shock</li>\n</ul>\n<ul>\n<li>Monitoring of vital signs and <span class=\"customMeta\" data-dictid=\"0096f2a7631692777201eb9f21d5a7\">urine</span> output</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Symptom Relief</p>\n</td>\n<td colspan=\"1\" rowspan=\"1\">\n<ul>\n<li>Paracetamol for fever and pain relief</li>\n</ul>\n<ul>\n<li>Symptomatic treatment for nausea, vomiting, and headache</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the pathogen that is transmitted by the vector?", "options": [{"label": "A", "text": "Kyasanur forest disease virus", "correct": false}, {"label": "B", "text": "Orientia tsutsugamushi", "correct": true}, {"label": "C", "text": "Chandipura virus", "correct": false}, {"label": "D", "text": "Anaplasma phagocytophilia", "correct": false}], "correct_answer": "B. Orientia tsutsugamushi", "question_images": ["https://image.prepladder.com/content/YhAKeaI9uzZm6Hb51HVA1695524084.png"], "explanation_images": [], "explanation": "<p>Correct Option B - Orientia tsutsugamush\n<table>\n<thead>\n<tr>\n<th scope=\"col\" style=\"vertical-align:bottom\">\n<p><strong>Pathogen</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:bottom\">\n<p><strong>Vector</strong></p>\n</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\n<p>Kyasanur forest disease virus</p>\n</td>\n<td>\n<p>Tick (Haemaphysalis sp.)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Orientia tsutsugamushi</p>\n</td>\n<td>\n<p>Chigger (mite larva)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Chandipura virus</p>\n</td>\n<td>\n<p>Sandfly</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Anaplasma phagocytophilia</p>\n</td>\n<td>\n<p>Tick (Ixodes sp.)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "For which of the following conditions is mass drug administration not performed?", "options": [{"label": "A", "text": "Malaria", "correct": false}, {"label": "B", "text": "Vitamin A deficiency", "correct": true}, {"label": "C", "text": "Scabies", "correct": false}, {"label": "D", "text": "Filariasis", "correct": false}], "correct_answer": "B. Vitamin A deficiency", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"4941f0477a1692777202923cd79e22\">Vitamin A</span&g\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the ideal dietary requirement for a patient with end-stage renal disease (stage 5) in terms of renal nutrition?", "options": [{"label": "A", "text": "Low volume, high calories", "correct": true}, {"label": "B", "text": "High volume, low calories", "correct": false}, {"label": "C", "text": "High volume, high calories", "correct": false}, {"label": "D", "text": "Low volume, low calories", "correct": false}], "correct_answer": "A. Low volume, high calories", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Low volume, high\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the image provided, the depicted life cycle corresponds to which of the following?", "options": [{"label": "A", "text": "Japanese encephalitis", "correct": false}, {"label": "B", "text": "Zika virus", "correct": false}, {"label": "C", "text": "Rabies", "correct": false}, {"label": "D", "text": "Nipah virus", "correct": true}], "correct_answer": "D. Nipah virus", "question_images": ["https://image.prepladder.com/content/4SXnDb1u0RLRmsvBpPrN1691486897.png"], "explanation_images": ["https://image.prepladder.com/content/AfXIgCF9clumFo0q004b1714120689.png"], "explanation": "<p>Correct Option D - Nipah virus: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What would be the suitable treatment regimen for multi-drug resistant tuberculosis among the following options?", "options": [{"label": "A", "text": "6 drugs for 4-6 months followed by 4 drugs for 12 months", "correct": false}, {"label": "B", "text": "7 drugs for 4-6 months followed by 4 drugs for 5 months", "correct": true}, {"label": "C", "text": "4 drugs for 4 months followed by 6 drugs for 10-12 months", "correct": false}, {"label": "D", "text": "5 drugs for 6 months followed by 4 drugs for 12 months", "correct": false}], "correct_answer": "B. 7 drugs for 4-6 months followed by 4 drugs for 5 months", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - 7 drugs for 4-6 months followed by 4 drugs for 5 month\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following conditions does not require droplet precaution and isolation?", "options": [{"label": "A", "text": "Pertussis", "correct": false}, {"label": "B", "text": "Diptheria", "correct": false}, {"label": "C", "text": "Localized varicella zoster", "correct": true}, {"label": "D", "text": "Mycoplasma pneumonia", "correct": false}], "correct_answer": "C. Localized varicella zoster", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Localized <span class=\"customMeta\" data-dictid=\"cf329b8cef169277720107b1efa15b\">varicella</span> zoster: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A patient presents with a fever for 1 week, with abdominal distension, loss of appetite, and lymphadenopathy . There is a poor response to antibiotics and antimalarials. The Widal test is negative but rk39 is positive. Which drug can be used in the treatment of this patient?", "options": [{"label": "A", "text": "Liposomal Amphotericin B", "correct": true}, {"label": "B", "text": "Fluconazole", "correct": false}, {"label": "C", "text": "Linezolid", "correct": false}, {"label": "D", "text": "Bedaquiline", "correct": false}], "correct_answer": "A. Liposomal Amphotericin B", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Liposomal Amphotericin B: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The following drug packet is used in", "options": [{"label": "A", "text": "TB", "correct": false}, {"label": "B", "text": "Leprosy", "correct": true}, {"label": "C", "text": "Vaginal discharge", "correct": false}, {"label": "D", "text": "Gonorrhea", "correct": false}], "correct_answer": "B. Leprosy", "question_images": ["https://image.prepladder.com/content/gs4bI7m5oDKufAo53EXs1715061183.png"], "explanation_images": ["https://image.prepladder.com/content/CUDrdtz1ZGcp6snDKw2J1715061200.png"], "explanation": "<p>Correct Option B - L\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 115 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which theory of disease causation emphasises the role of genetic predisposition and environmental factors in the development of diseases?", "options": [{"label": "A", "text": "Miasma Theory", "correct": false}, {"label": "B", "text": "Germ Theory", "correct": false}, {"label": "C", "text": "Multifactorial Theory", "correct": true}, {"label": "D", "text": "Epidemiological Triad Theory", "correct": false}], "correct_answer": "C. Multifactorial Theory", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:635px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Theory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Miasma Theory</strong></p>\n<p style=\"text-align:center\"><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Suggests that diseases are caused by \"<strong>bad air</strong>\" or miasmas, disease occurrence is associated with environmental conditions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Germ Theory</strong></p>\n<p style=\"text-align:center\"><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">States that <strong>microorganisms </strong>(germs) are the <span class=\"customMeta\" data-dictid=\"011fad823816927771969cdd48df1a\">primary cause</span> of many diseases, given by Louis Pasteur.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Epidemiological <span class=\"customMeta\" data-dictid=\"1a0a43d74e16927772004473a05ae3\">Triad</span> Theory</strong></p>\n<p style=\"text-align:center\">(Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Describes the interaction between the <strong>agent, host, and environment.</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RyjW2OhdClkawwmdplmT1742802342.mp3", "video": ""}, {"text": "Which aspect of a disease does the Case Fatality Rate (CFR) primarily measure ?", "options": [{"label": "A", "text": "Infectivity", "correct": false}, {"label": "B", "text": "Pathogenicity", "correct": false}, {"label": "C", "text": "Virulence", "correct": true}, {"label": "D", "text": "Transmissibility", "correct": false}], "correct_answer": "C. Virulence", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/7EGetG5xzzmDwLzJWZKq1725040556.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:596px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Virulence</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The degree of severity or harmfulness of a disease, measuring the proportion of severe or fatal cases.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Infectivity</strong></p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The ability of a <span class=\"customMeta\" data-dictid=\"ed4634701d16927771942c4408495f\">pathogen</span> to establish an infection and spread among a population.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pathogenicity</strong></p>\n<p><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The ability of a <span class=\"customMeta\" data-dictid=\"03aede3b101692777192c7f7a5e99c\">microorganism</span> to cause disease determines whether an infection will manifest as an illness.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transmissibility</strong></p>\n<p>(Communicability)</p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The ability of a disease to be transmitted from one host to another indicates how easily it spreads. This is measured by Secondary attack rate.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/QChfrmrYCKDCccpCnuur1742800800.mp3", "video": ""}, {"text": "Why is the web of causation models considered beneficial for public health interventions?", "options": [{"label": "A", "text": "It identifies a single cause for targeted intervention.", "correct": false}, {"label": "B", "text": "It suggests that only one factor needs to be addressed for disease control.", "correct": false}, {"label": "C", "text": "It highlights multiple points where interventions can reduce disease occurrence.", "correct": true}, {"label": "D", "text": "It eliminates the need for further research.", "correct": false}], "correct_answer": "C. It highlights multiple points where interventions can reduce disease occurrence.", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/KCnpA75OdARNRKIkgMVJ1734066744.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SCwPFttCjfJAzwnCLrh31742800931.mp3", "video": ""}, {"text": "Which of the following diseases does NOT follow the spectrum of disease principle?", "options": [{"label": "A", "text": "Leprosy", "correct": false}, {"label": "B", "text": "Influenza", "correct": false}, {"label": "C", "text": "Rabies", "correct": true}, {"label": "D", "text": "Tuberculosis", "correct": false}], "correct_answer": "C. Rabies", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/LSrO0IBt7CvwAolCtXp01725040860.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gKkIhRGy59Ypr5x4hlDC1742801060.mp3", "video": ""}, {"text": "Which of the following diseases typically does not exhibit a large hidden portion according to the Iceberg phenomenon?", "options": [{"label": "A", "text": "Tuberculosis", "correct": false}, {"label": "B", "text": "Measles", "correct": true}, {"label": "C", "text": "HIV", "correct": false}, {"label": "D", "text": "Cancer", "correct": false}], "correct_answer": "B. Measles", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/wpvwcsfuoRd2xO8rp8RQ1725041358.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:613px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Diseases that follow the Iceberg phenomenon</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Diseases that don't follow the Iceberg phenomenon</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Non-communicable diseases</li>\n<li>Cancer</li>\n<li>Protein-energy <span class=\"customMeta\" data-dictid=\"cbd2d1fd521692777191d00c1a4ede\">malnutrition</span> cases</li>\n<li>Tuberculosis</li>\n<li>HIV/AIDS</li>\n</ul>\n</td>\n<td rowspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Measles</li>\n<li>Rabies (Highest CFR rate)</li>\n<li>Tetanus</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/seead9etwZ9v2Sh6QLsn1742801213.mp3", "video": ""}, {"text": "Which of the following is true regarding the Physical quality of life index (PQLI)?", "options": [{"label": "A", "text": "Measures life expectancy at birth", "correct": false}, {"label": "B", "text": "Measures the infant mortality rate", "correct": true}, {"label": "C", "text": "Measures gross national income (GNI) per capita", "correct": false}, {"label": "D", "text": "Lies between 0-1", "correct": false}], "correct_answer": "B. Measures the infant mortality rate", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Physical quality of life index (PQLI)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Human Development Index (HDI)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">PQLI is a measure developed to assess the general well-being of a population.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">HDI is a <span class=\"customMeta\" data-dictid=\"75b673aef3169277718422a1ba87c0\">composite</span> measure that evaluates human development across three dimensions: health, education, and standard of living.</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Components:</strong></p>\n<ul>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at one year of age</li>\n<li>Literacy rate</li>\n<li>Infant mortality rate<strong> (Option B)</strong></li>\n</ul>\n</td>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Components:</strong></p>\n<ul>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at birth <strong>(Option A)</strong></li>\n<li>Knowledge index or educational index = (EYS + MYS)/2</li>\n<li>Gross national income per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> <strong>(Option C)</strong></li>\n<li>HDI is a <span class=\"customMeta\" data-dictid=\"986d5b7cb51692777188a3bfedb93b\">geometric mean</span> of all dimension indices</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Evaluated on a scale of 0-100</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Evaluated on a scale of 0-1 <strong>(Option D)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/br7Z5m8L4GWAou4zusXf1742801678.mp3", "video": ""}, {"text": "A public health researcher analyses data to understand gender disparities in human development within a specific region. The researcher is particularly interested in the components used to calculate the Gender Development Index (GDI). All of the following are components of the GDI except?", "options": [{"label": "A", "text": "Life expectancy at birth for both males and females", "correct": false}, {"label": "B", "text": "Education index of both males and females", "correct": false}, {"label": "C", "text": "Infant mortality rates of both males and females", "correct": true}, {"label": "D", "text": "Standard of living for both males and females", "correct": false}], "correct_answer": "C. Infant mortality rates of both males and females", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PSmv8J6G4yC1qiIhOCWx1742802435.mp3", "video": ""}, {"text": "Which of the following is not an indicator of the human poverty index?", "options": [{"label": "A", "text": "The proportion of people not surviving until the age of 40 years", "correct": false}, {"label": "B", "text": "Occupation and income", "correct": true}, {"label": "C", "text": "Percentage of underweight children", "correct": false}, {"label": "D", "text": "No access to safe water supply and sanitation", "correct": false}], "correct_answer": "B. Occupation and income", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2IB3UMfzOfBjoZwNXpj51742802147.mp3", "video": ""}, {"text": "How does the Multidimensional Poverty Index (MPI) offer a more comprehensive view of poverty than traditional income-based measures?", "options": [{"label": "A", "text": "By measuring only the income levels of households.", "correct": false}, {"label": "B", "text": "By focusing solely on the employment status of individuals.", "correct": false}, {"label": "C", "text": "By including various indicators of health, education, and living standards.", "correct": true}, {"label": "D", "text": "By evaluating the GDP per capita of the country.", "correct": false}], "correct_answer": "C. By including various indicators of health, education, and living standards.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:467px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Dimensions of Poverty</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Indicator</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Health</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Nutrition (1/6)</p>\n<p style=\"text-align:center\">Child mortality (1/6)</p>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Education</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Years of schooling (1/6)</p>\n<p style=\"text-align:center\">School attendance (1/6)</p>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Standard of living</strong></p>\n</td>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Cooking Fuel (1/18)</p>\n<p style=\"text-align:center\">Sanitation (1/18)</p>\n<p style=\"text-align:center\">Drinking Water (1/18)</p>\n<p style=\"text-align:center\">Electricity (1/18)</p>\n<p style=\"text-align:center\">Housing (1/18)</p>\n<p style=\"text-align:center\">Assets (1/18)</p>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LfzMfAAhbykRgWFG5H891742802592.mp3", "video": ""}, {"text": "Which of the following is not included in the Global Hunger Index?", "options": [{"label": "A", "text": "Infant mortality rate", "correct": true}, {"label": "B", "text": "Child undernutrition", "correct": false}, {"label": "C", "text": "Child mortality rate", "correct": false}, {"label": "D", "text": "Food availability", "correct": false}], "correct_answer": "A. Infant mortality rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/afWUyCat4gSMHy0Jd3d41725451516.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3lEvuxT2wMjj8zSiTIaY1742801909.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 20 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "All of the following diseases are targeted by India for elimination in the future, except?", "options": [{"label": "A", "text": "Neonatal tetanus by 2025", "correct": true}, {"label": "B", "text": "HIV/AIDS by 2024", "correct": false}, {"label": "C", "text": "TB by 2025", "correct": false}, {"label": "D", "text": "Malaria by 2030", "correct": false}], "correct_answer": "A. Neonatal tetanus by 2025", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:522px\">\n<tbody>\n<tr>\n<td colspan=\"9\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Diseases that have been <strong>eliminated </strong>from India.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>DISEASE</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>YEAR</strong></p>\n</td>\n<td colspan=\"4\" style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Leprosy </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2005</p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Occurrence of less than <strong>1 case per 10,000</strong> at subnational and district level.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Maternal and <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> <span class=\"customMeta\" data-dictid=\"64dfe4fca51692777200a7ffbc44bb\">tetanus</span> </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">May, 2015</p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Occurrence of less than <strong>1 case per 1,000</strong> live births annually.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Polio </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Last case in 2011</strong></p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\"><strong>February 24, 2012</strong></li>\n</ul>\n<p style=\"text-align:center\">India was removed from the list of polio-endemic countries by WHO</p>\n<ul>\n<li style=\"text-align:center\"><strong>March 27, 2014</strong></li>\n</ul>\n<p style=\"text-align:center\">India is certified polio-free by the Regional Certification Commission (RCC), WHO</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Dracunculiasis </strong></p>\n<p style=\"text-align:center\"><strong>(Guinea <span class=\"customMeta\" data-dictid=\"cc08235a711692777202fabc5d7cdb\">worm</span> infection)</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2000</p>\n</td>\n<td colspan=\"4\" rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Zero cases</strong> continuously for three consecutive years.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Yaws </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2004</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Infectious <span class=\"customMeta\" data-dictid=\"bc4fb02c561692777200c9effa5471\">trachoma</span> </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2017</p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Prevalence in children aged 1–9 years of<strong> less than 5%</strong>, sustained for at least two years without ongoing mass <span class=\"customMeta\" data-dictid=\"ff6b4f4d491692777181a02bad075e\">antibiotic</span> treatment, in each formerly <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> district.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"9\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Diseases<strong> targeted</strong> to be <strong>eliminated </strong>from India.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>DISEASE</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>TARGETED YEAR</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Kala-azar </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2023 by India</p>\n<p style=\"text-align:center\">2030 by WHO</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Incidence less than <strong>1 case per 10,000 </strong>population at the Block PHC level.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Filariasis</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2027 by India</p>\n<p style=\"text-align:center\">2030 by WHO</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Less than<strong> 1% microfilariae carrier rate</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Measles </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2023</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Absence</strong> of <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> transmission in a defined geographical area <strong>> 12 months</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>HIV/AIDS </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2024</p>\n</td>\n<td colspan=\"3\" style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Tuberculosis </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2025</p>\n</td>\n<td colspan=\"3\" style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Malaria </strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2030</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Zero indigenous cases</strong> and deaths due to <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> for 10 years in the whole country</p>\n</td>\n</tr>\n</tbody>\n\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:531px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Elimination of diseases in India</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Eliminated Diseases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Targeted for elimination</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Leprosy</li>\n<li>Maternal and <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">Neonatal</span> tetanus</li>\n<li>Polio</li>\n<li>Dracunculiasis</li>\n<li>Yaws</li>\n<li>Infectious trachoma</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Kala-azar</li>\n<li>Filariasis</li>\n<li>Measles</li>\n<li>HIV/AIDS</li>\n<li>Tuberculosis</li>\n<li>Malaria</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Note:</strong> In India, the target for eliminating kala azar was achieved in 2024 but has yet to be officially declared.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RoKndcSzkJ6mNoCts1eP1748208252.mp3", "video": ""}, {"text": "Termination of all modes of transmission of which of the following has not been achieved?", "options": [{"label": "A", "text": "Smallpox", "correct": false}, {"label": "B", "text": "Wild poliovirus type 2", "correct": false}, {"label": "C", "text": "Wild poliovirus type 3", "correct": false}, {"label": "D", "text": "Dracunculiasis", "correct": true}], "correct_answer": "D. Dracunculiasis", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:558px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Eradication of diseases in India</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Eradicated Diseases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Targeted for eradication </strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Smallpox (1980)</li>\n<li>Wild <span class=\"customMeta\" data-dictid=\"b5b2c3bf5516927771962adf24f3be\">poliovirus</span> 2 (2015)</li>\n<li>Wild <span class=\"customMeta\" data-dictid=\"b5b2c3bf5516927771962adf24f3be\">poliovirus</span> 3 (2019)</li>\n</ul>\n</td>\n<td rowspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Wild <span class=\"customMeta\" data-dictid=\"b5b2c3bf5516927771962adf24f3be\">poliovirus</span> 1</li>\n<li>Measles</li>\n<li>Dracunculiasis</li>\n<li>Leprosy</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Zd0hQL84IKRRnqTAdQoM1742804611.mp3", "video": ""}, {"text": "Match the following level of prevention with their correct definition. Level of prevention Definition 1) Primary a) Prevention of establishment of risk factors in a population. 2) Secondary b) Prevention of the development of disease in a high-risk group/individual. 3) Tertiary c) Prevention or limitation of disability in a diseased individual. 4) Primordial d) Prevention of the progression of diseases that are in their early stages.", "options": [{"label": "A", "text": "1-c, 2-b, 3-d, 4-a", "correct": false}, {"label": "B", "text": "1-b, 2-d, 3-c, 4-a", "correct": true}, {"label": "C", "text": "1-b, 2-d, 3-a, 4-c", "correct": false}, {"label": "D", "text": "1-a, 2-c, 3-b, 4-d", "correct": false}], "correct_answer": "B. 1-b, 2-d, 3-c, 4-a", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:633px\">\n<thead>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Levels of prevention</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Definition </strong></p>\n</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Primordial </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prevention of <strong>establishment </strong>of <strong>risk factors.</strong></li>\n<li>It aims to discourage people from adopting harmful habits.</li>\n<li>Avoiding smoking</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Primary </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Health promotion and specific protection.</li>\n<li>Prevention of <strong>onset </strong>of <strong>disease </strong>in a high-risk group/individual.</li>\n<li>It aims to protect the health of those who are at risk.</li>\n<li>Reduces the <strong>incidence </strong>of the disease.</li>\n<li>Quit smoking</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Secondary </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Disease <strong>progression can be prevented </strong>at an early stage (Disease is <strong>reversible</strong>).</li>\n<li>It aims to reduce the <strong>prevalence </strong>of the disease by early identification and prompt treatment of diseases, and it also prevents complications.</li>\n<li>Screening for diabetes.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Tertiary </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prevention or limitation of <strong>impairment and disability</strong> in a diseased patient who has developed complications due to the disease and the disease has become irreversible.</li>\n<li>It aims to <strong>minimize a patient's suffering </strong>and <strong>maximize potential years </strong>of useful life.</li>\n<li>Disability limitation and rehabilitation.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Quaternary</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prevention of the <strong>risk of overmedicalization </strong>of a patient or population.</li>\n<li>Aims to prevent prescription of unnecessary medications and <span class=\"customMeta\" data-dictid=\"1c5272ad3d1692777190e71409d07a\">invasive</span> medical interventions.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TdKiSemhkrs8tmziOKTJ1742804799.mp3", "video": ""}, {"text": "Which of the following is a mode of intervention for the secondary level of prevention?", "options": [{"label": "A", "text": "Immunisation program", "correct": false}, {"label": "B", "text": "Health education", "correct": false}, {"label": "C", "text": "Rehabilitation programs", "correct": false}, {"label": "D", "text": "Early diagnosis and treatment", "correct": true}], "correct_answer": "D. Early diagnosis and treatment", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7BQI8Mujud5UGzpljvye1742805137.mp3", "video": ""}, {"text": "Which of the following modes of intervention is not a primary level of prevention?", "options": [{"label": "A", "text": "Administration of MR vaccination to children", "correct": false}, {"label": "B", "text": "Examination of school students to identify signs of anemia", "correct": true}, {"label": "C", "text": "Iodization of common salt", "correct": false}, {"label": "D", "text": "Implementing strict laws regarding drinking and driving", "correct": false}], "correct_answer": "B. Examination of school students to identify signs of anemia", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/chebCILduHCm2bgymg3r1742805277.mp3", "video": ""}, {"text": "Choose the correct statements from the following: a)BCG vaccine for TB- primary b)BCG for Ca bladder- secondary c)OCP for contraception- primary d)OCP for PCOD- secondary", "options": [{"label": "A", "text": "a,c", "correct": false}, {"label": "B", "text": "a,b,c,d", "correct": true}, {"label": "C", "text": "b,c,d", "correct": false}, {"label": "D", "text": "a,c,d", "correct": false}], "correct_answer": "B. a,b,c,d", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:664px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Level of Prevention </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Goals </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primordial</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>To prevent the establishment of risk factors</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lifestyle modification</li>\n<li>Health promotion</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primary</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Interventions to prevent the onset of disease</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Vaccinations<strong> (statement a)</strong></li>\n<li>Health education</li>\n<li>Family planning <strong>(statement c)</strong></li>\n<li>Use of <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> nets</li>\n<li>Pre-placement examination</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Secondary </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Early <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> and prompt treatment of disease to prevent complications</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Screening tests (e.g., mammograms, <span class=\"customMeta\" data-dictid=\"db0c1e31b81692777194c625af6798\">PAP</span> smears)</li>\n<li>Self-examinations</li>\n<li>Health camps with screening</li>\n<li>DOTS for TB; ART for HIV; <span class=\"customMeta\" data-dictid=\"2b2b0ddddd1692777192f022c48dd9\">MDT</span> for leprosy.</li>\n<li>Treatment<strong> (statement b and d )</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tertiary </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Interventions to manage and reduce complications of existing disease to prevent disability or death</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Rehabilitation</li>\n<li>Physical therapy</li>\n<li>Chronic disease management programs</li>\n<li>Reconstructive surgery</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Bo7qMsMDFbtWM0IzzHql1742805565.mp3", "video": ""}, {"text": "Arrange the following events in the correct sequence: Impairment Disability Functional Limitation Handicap Disease", "options": [{"label": "A", "text": "5 → 1 → 3 → 2 → 4", "correct": true}, {"label": "B", "text": "3 → 1 → 5 → 4 → 2", "correct": false}, {"label": "C", "text": "5 → 1 → 2 → 3 → 4", "correct": false}, {"label": "D", "text": "2 → 5 → 1 → 3 → 4", "correct": false}], "correct_answer": "A. 5 → 1 → 3 → 2 → 4", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Nb9gaNqIfJX9VkaZX0WI1742805417.mp3", "video": ""}, {"text": "In a rural village, trachoma remains a significant public health concern. A public health officer is tasked with implementing a comprehensive prevention strategy for trachoma. Match each intervention with the appropriate level of prevention: 1. Primary Prevention a. Coordinates surgical treatment for blindness 2. Secondary Prevention b. Promotes facial cleanliness and sanitation. 3. Tertiary Prevention c. Ensures antibiotics are prescribed only to confirmed cases. 4. Quaternary Prevention d. Conduct regular eye screenings.", "options": [{"label": "A", "text": "1-b, 2-d, 3-a, 4-c", "correct": true}, {"label": "B", "text": "1-d, 2-a, 3-b, 4-c", "correct": false}, {"label": "C", "text": "1-c, 2-b, 3-d, 4-a", "correct": false}, {"label": "D", "text": "1-a, 2-c, 3-d, 4-b", "correct": false}], "correct_answer": "A. 1-b, 2-d, 3-a, 4-c", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Levels of Prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Measures</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Primary Prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Interventions <strong>before the onset of the disease</strong> to avert its occurrence by addressing the pre-pathogenesis phase.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Promotes<strong> <span class=\"customMeta\" data-dictid=\"9fdd7489051692777202cffe3f24cc\">facial</span> cleanliness</strong> and <strong>sanitation</strong> to prevent trachoma.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Secondary Prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Aim to <strong>halt disease progression</strong> in its early stages and prevent complications through timely diagnosis (e.g., screening, case-finding) and prompt, appropriate treatment.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Conduct<strong> regular eye screenings </strong>to detect and treat <span class=\"customMeta\" data-dictid=\"bc4fb02c561692777200c9effa5471\">trachoma</span> early.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Tertiary Prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Focuses on minimizing the impact of existing health conditions by <strong>reducing impairments and disabilities</strong>, alleviating suffering, and promoting adjustment to <span class=\"customMeta\" data-dictid=\"ee77d507701692777190bfcf47b497\">irreversible</span> states.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Coordinates <strong>surgical treatment</strong> for those with trachoma-related blindness.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Quaternary Prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Promoting <span class=\"customMeta\" data-dictid=\"a9dcc16be01692777187410eac8a4a\">evidence-based</span> practices to <strong>prevent over diagnosis</strong> and offering ethically validated treatment options</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Ensures <strong>antibiotics</strong> are prescribed only to confirmed cases to avoid unnecessary treatment.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/U4sMLCK3Zj7vXmQ8B9eZ1742805858.mp3", "video": ""}, {"text": "Which of the following interventions is an example of rehabilitation?", "options": [{"label": "A", "text": "HPV vaccination in a reproductive-age woman.", "correct": false}, {"label": "B", "text": "Organising physical therapy sessions for stroke survivors.", "correct": true}, {"label": "C", "text": "Administering insulin to manage diabetes.", "correct": false}, {"label": "D", "text": "Conducting regular screenings to detect early signs of diabetes-related neuropathy.", "correct": false}], "correct_answer": "B. Organising physical therapy sessions for stroke survivors.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:621px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Disability Limitation </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Rehabilitation </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Preventing progression</strong> from <span class=\"customMeta\" data-dictid=\"4885d5d0021692777189aac6dc80f7\">impairment</span> to handicap.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Restoring</strong> and <strong>maximizing</strong> functional abilities.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Maintain the current level of function and prevent further deterioration.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Achieve the highest possible level of functional independence and quality of life.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Targeted medical treatment, assistive devices, and environmental modifications.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Coordinated multidisciplinary efforts (medical, social, educational, vocational).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>E.g.</p>\n<ul>\n<li>Medical treatment.</li>\n<li>Assistive devices.</li>\n<li>Environmental modifications.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>E.g.</p>\n<ul>\n<li>Organizing physical therapy sessions for stroke survivors.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/WfNIVFC3tbm4iU7fb5Rg1742804253.mp3", "video": ""}, {"text": "For which of the following diseases is mass prophylaxis more commonly employed than mass treatment?", "options": [{"label": "A", "text": "Lymphatic filariasis", "correct": false}, {"label": "B", "text": "Malaria", "correct": false}, {"label": "C", "text": "Cholera", "correct": true}, {"label": "D", "text": "Onchocerciasis", "correct": false}], "correct_answer": "C. Cholera", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Mass prophylaxis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Mass Treatment</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">It involves administering <span class=\"customMeta\" data-dictid=\"e684325d851692777196af9e64013b\">preventive</span> treatment to an entire population to <strong>prevent disease occurrence.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">It involves treating an entire population or community to <strong>control or eliminate a disease.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Level of prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Primary prevention</strong> strategy. (To prevent disease onset in individuals who have not yet been infected).</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Secondary prevention</strong> strategy. (Aim to reduce the <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of a disease and prevent further transmission).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Mass vaccination</strong> during outbreaks to prevent the spread of diseases such as:</p>\n<ul>\n<li>Cholera</li>\n<li>Hepatitis A</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lymphatic <span class=\"customMeta\" data-dictid=\"bcab368ebc169277720239f1f3dfb9\">filariasis</span> (Anti-filarial drugs)</li>\n<li>Malaria (Anti-malarial drugs)</li>\n<li>Onchocerciasis (Ivermectin)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wE7pZZkEhVqsPFoc99tM1742804100.mp3", "video": ""}, {"text": "Which of the following international declarations or charters is primarily associated with outlining the principles and strategies for health promotion?", "options": [{"label": "A", "text": "Alma-Ata Declaration", "correct": false}, {"label": "B", "text": "Jakarta Declaration", "correct": false}, {"label": "C", "text": "Ottawa Charter", "correct": true}, {"label": "D", "text": "Helsinki Declaration", "correct": false}], "correct_answer": "C. Ottawa Charter", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/KaCNlgVf4yROEC9ADkuy1734068427.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/uXhXYbBmNnUumfsLwtYq1742803736.mp3", "video": ""}, {"text": "Which term describes the systematic collection, analysis, and interpretation of health data for the planning, implementing, and evaluating public health practices?", "options": [{"label": "A", "text": "Monitoring", "correct": false}, {"label": "B", "text": "Surveillance", "correct": true}, {"label": "C", "text": "Evaluation", "correct": false}, {"label": "D", "text": "Impact assessment", "correct": false}], "correct_answer": "B. Surveillance", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/njZsJnOiwp8DUY1rotPw1742803543.mp3", "video": ""}, {"text": "Which surveillance method involves routine reporting and data collection without active efforts to enhance reporting?", "options": [{"label": "A", "text": "Active surveillance", "correct": false}, {"label": "B", "text": "Passive surveillance", "correct": true}, {"label": "C", "text": "Sentinel surveillance", "correct": false}, {"label": "D", "text": "Syndromic surveillance", "correct": false}], "correct_answer": "B. Passive surveillance", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/OvCwN8V6qI8XZ11YFhvQ1742803118.mp3", "video": ""}, {"text": "What is the main objective of evaluating healthcare establishments?", "options": [{"label": "A", "text": "Monitoring patient satisfaction levels", "correct": false}, {"label": "B", "text": "Assessing the efficacy and efficiency of health services", "correct": true}, {"label": "C", "text": "Expanding healthcare facilities", "correct": false}, {"label": "D", "text": "Reducing operational costs", "correct": false}], "correct_answer": "B. Assessing the efficacy and efficiency of health services", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/OgAhYDKT1xX2QemR5W211742806069.mp3", "video": ""}, {"text": "Which of the following measures is implemented for individuals who are already ill and potentially infectious?", "options": [{"label": "A", "text": "Isolation", "correct": true}, {"label": "B", "text": "Quarantine", "correct": false}, {"label": "C", "text": "Social distancing", "correct": false}, {"label": "D", "text": "Contact tracing", "correct": false}], "correct_answer": "A. Isolation", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ErpIxKxKoFs0YjwhYSUC1742806141.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following mortality indicators is a positive mortality indicator?", "options": [{"label": "A", "text": "Age-specific mortality rate", "correct": false}, {"label": "B", "text": "Proportional mortality rate", "correct": false}, {"label": "C", "text": "Expectation of life", "correct": true}, {"label": "D", "text": "Year of potential life lost", "correct": false}], "correct_answer": "C. Expectation of life", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Reference:</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:775px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Crude death rate</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>CDR = (Total no. or deaths in a community/ MYP (Mid-year population) in the same area) x 100</p>\n<ul>\n<li>The mid-year population is taken on 1st July</li>\n<li>Limitation: It does not consider the age and sex of the population</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Age-specific death rate </strong>(Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>ASDR = (Total no. of deaths in a particular age group (eg. 20-24yrs) a given area in a year/ MYP of the age group in the same area and year) x 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Expectation of life</strong></p>\n<p>(Option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at birth: A positive mortality indicator· Average no. of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live, considering the current age-specific mortality rates in a community.</li>\n<li>Important component to calculate the Human Development Index (HDI).</li>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at one year is PQLI. In 2021, life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> in India is <strong>69.7 years</strong>.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Infant mortality rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>IMR = (Total number of deaths (0-1-year-old) in a given year / Total number of live births in the same year) x 1000. It is a health status indicator.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Under-five mortality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>U5MR = (Total number of deaths (0-5 years old) in a given year /Total number of live births in one year) x 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Maternal Mortality Rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>Maternal Mortality Rate (MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/women in the <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group [15-49 years]) x 100,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Maternal Mortality Ratio (MMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>Maternal Mortality <strong>Ratio </strong>(MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/Live Births) x 100,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Adult mortality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>Probability of dying between 15 to 60 years of life</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Year of potential life lost </strong>(Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>Premature death measurement. If life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> is 75 years, and death happens at age 30, then 45 years of potential life is lost</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Proportional mortality rate </strong>(Option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>The simplest measure of the burden of disease (Total deaths due to disease 'x'/ Total deaths in a community)́ x 100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Case fatality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>CFR = (Deaths due to diseases ‘z’ / total no of cases of disease ‘z’) x 100</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NNs3R42nILh0k2BdS0ZP1742807172.mp3", "video": ""}, {"text": "Which of the following is true regarding maternal mortality rate?", "options": [{"label": "A", "text": "The reproductive age group is taken between ages 15 to 50 years", "correct": false}, {"label": "B", "text": "Pregnancy-related deaths are counted up to 6 weeks postpartum", "correct": true}, {"label": "C", "text": "Most common direct cause of maternal mortality is anemia", "correct": false}, {"label": "D", "text": "Most common indirect cause of maternal mortality is hemorrhage( Post-partum hemorrhage).", "correct": false}], "correct_answer": "B. Pregnancy-related deaths are counted up to 6 weeks postpartum", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MMR</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Maternal Mortality <strong>Rate </strong>(MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/women in the <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group [15-49 years]) x 100,000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Maternal Mortality <strong>Ratio </strong>(MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/Live Births) x 100,000</li>\n<li>Indicator of quality of healthcare delivery services</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Maternal deaths: Deaths during <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> period/ delivery /postnatal period (up to 6 weeks post-delivery), excluding <span class=\"customMeta\" data-dictid=\"fb7ff97e071692777180252299cf10\">accidental</span> causes.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LyDXS11oiiVZgL1XbjhP1742806982.mp3", "video": ""}, {"text": "All of the following are morbidity indicators except?", "options": [{"label": "A", "text": "Notification rate", "correct": false}, {"label": "B", "text": "Incidence", "correct": false}, {"label": "C", "text": "Attendance rate", "correct": false}, {"label": "D", "text": "Expectation of life", "correct": true}], "correct_answer": "D. Expectation of life", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ZXWuWJBSnBuIzmni2IgC1742806818.mp3", "video": ""}, {"text": "Which of the following statements best describes DALY?", "options": [{"label": "A", "text": "It measures years lost to disability alone", "correct": false}, {"label": "B", "text": "It measures years lost to death alone", "correct": false}, {"label": "C", "text": "It measures years lost to disability and death", "correct": true}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "C. It measures years lost to disability and death", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:765px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Quality-adjusted Life Years (QALY)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Quality and quantity of life lived.</li>\n<li>Assesses number of years of life added due to the intervention and hence the benefit and value for money of the intervention</li>\n<li>QALY - 1 year of life lived in <u>perfect</u> health</li>\n<li>Positive indicator of the cost-effectiveness of an intervention.</li>\n<li>Scored between 0 (death) and 1 (perfect health).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Disability-adjusted Life Years (DALY)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>DALY= Years of life lost to <span class=\"customMeta\" data-dictid=\"84f13673191692777196762b18e036\">premature</span> death + years lived with disability</li>\n<li>1 DALY: 1 year of healthy life lost</li>\n<li>It is a measure of the burden of disease and the effectiveness of intervention<br/>\n\t\t\t\t </li>\n</ul>\n<p><strong>Year of life lost (YLL):</strong></p>\n<ul>\n<li>Calculated from the number of deaths at each age multiplied by the expected remaining years of life according to a global standard life expectancy.<br/>\n\t\t\t\t </li>\n</ul>\n<p><strong>Years lost to disability (YLD):</strong></p>\n<ul>\n<li>Where the number of incident cases due to injury and illness is multiplied by the average duration of the disease and a weighting factor reflecting the severity of the disease on a scale from 0 (perfect health) to 1 (dead).</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>DALY = YLL + YLD</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Health Adjusted Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> (HALE)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>The average number of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live in full health considering the current age-specific mortality rate.<br/>\n\t\t\t\tHealthy Life Expectancy</li>\n</ul>\n\t\t\t \n\n\t\t\t<p>HALE = Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> at birth + adjustment of time spent in poor health</p>\n<p>HALE = LE-DALY</p>\n<p><strong>Life Expectancy</strong></p>\n<ul>\n<li>Average no. of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live, considering the current age-specific mortality rate.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Sullivan’s index </strong><br/>\n<strong>(or DFLE)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Disability-free life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> (DFLE) with the current pattern of mortality and disability.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yI5Ab6uKRg4vfpkAiCf61742806706.mp3", "video": ""}, {"text": "Which of the following is not a healthcare delivery indicator?", "options": [{"label": "A", "text": "Population per Sub Centre", "correct": false}, {"label": "B", "text": "Doctor nurse ratio", "correct": false}, {"label": "C", "text": "Bed occupancy rates", "correct": true}, {"label": "D", "text": "Population- bed ratio", "correct": false}], "correct_answer": "C. Bed occupancy rates", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:728px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Nutritional Indicators</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Prevalence of low birth weight</li>\n<li>Anthropometric measurement of pre-school children</li>\n<li>Height and weight of children at the time of school entry</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Health Care Delivery Indicators</strong><br/>\n\t\t\t </p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Doctor population ratio</li>\n<li>Doctor-nurse ratio <strong>(Option B)</strong></li>\n<li>Population- bed ratio <strong>(Option D)</strong></li>\n<li>Population per <span class=\"customMeta\" data-dictid=\"e5c2f7896c16927771998d7eb7f8f2\">Sub</span> <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> <strong>(Option A)</strong></li>\n<li>Population per trained birth attendant</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Health Care <span class=\"customMeta\" data-dictid=\"6aee31718c16927772019237286270\">Utilization</span> Indicators</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Services being utilized</li>\n<li>Percentage of children fully immunized</li>\n<li>Percentage of eligible couples using family planning methods</li>\n<li>Bed <span class=\"customMeta\" data-dictid=\"28b9a0777f16927771947393e948ba\">occupancy</span> rates </li>\n<li>Bed <span class=\"customMeta\" data-dictid=\"a13747deff16927772016cfbf6b284\">turnover</span> ratio (Indicates efficiency of the healthcare delivery system)</li>\n<li>Average length of stay in hospital</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Environmental Indicators</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Percentage of the population has access to safe water supply and sanitation</li>\n<li>Percentage of households with a water source at home or within 15 m of the home</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Indicators of social and Mental Health</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Suicide rate</li>\n<li>Mental illness</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Socioeconomic Indicators</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Rate of population increase</li>\n<li>Per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> GNP</li>\n<li>Level of unemployment</li>\n<li>Dependency ratio</li>\n<li>Literacy rate</li>\n<li>Family size</li>\n<li>Housing</li>\n<li>Per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> <span class=\"customMeta\" data-dictid=\"5f526a682c16927771831cac5b3711\">calorie</span> availability</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Health Policy Indicator</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Proportion of GNP (Gross National Product) spent on health (Income from abroad)</li>\n<li>GDP: Gross Domestic Product (Income within a country)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Quality of Life Indicators</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>PQLI</li>\n<li>HDI</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3BmLbwW4g6baK6mgc1QD1742806427.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 15 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Identify the index?", "options": [{"label": "A", "text": "Human developmental index", "correct": true}, {"label": "B", "text": "POLI", "correct": false}, {"label": "C", "text": "Human poverty index", "correct": false}, {"label": "D", "text": "Multidimensional poverty index", "correct": false}], "correct_answer": "A. Human developmental index", "question_images": ["https://image.prepladder.com/content/5x6uaT7PdRILpeca8xnI1724850212.png"], "explanation_images": ["https://image.prepladder.com/content/rJQQDgb38pwVk7uACUBn1724850965.png"], "explanation": "<p>Correct Option A - Human dev\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the options below aids in determining the severity of a disease?", "options": [{"label": "A", "text": "Proportional mortality rate", "correct": false}, {"label": "B", "text": "Incidence", "correct": false}, {"label": "C", "text": "Case fatality rate", "correct": true}, {"label": "D", "text": "Prevalence", "correct": false}], "correct_answer": "C. Case fatality rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/uCsoIqIzrnwP8Plvcfwq1746692597.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In Sustainable Development Goal 3, the target 3.1 aims to reduce the Maternal Mortality Ratio by 2030 to_____ (per 1 lakh live births)?", "options": [{"label": "A", "text": "&lt;70", "correct": true}, {"label": "B", "text": "&lt; 100", "correct": false}, {"label": "C", "text": "&lt; 50", "correct": false}, {"label": "D", "text": "&lt;130", "correct": false}], "correct_answer": "A. <70", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - &lt;7\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What does the point labeled C denote?", "options": [{"label": "A", "text": "Onset of symptoms", "correct": true}, {"label": "B", "text": "Onset of pathological changes", "correct": false}, {"label": "C", "text": "Usual time of diagnosis", "correct": false}, {"label": "D", "text": "Exposure to etiologic agent", "correct": false}], "correct_answer": "A. Onset of symptoms", "question_images": ["https://image.prepladder.com/notes/mkUKy1Tah5JgFDXGFsgo1747037491.png"], "explanation_images": ["https://image.prepladder.com/notes/X6ZBVnmR65hkAFQwUIH91747037562.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "When quarantine was introduced in the 14th century for plague, how many days were people who were suspected to have the infection quarantined for?", "options": [{"label": "A", "text": "14 days", "correct": false}, {"label": "B", "text": "35 days", "correct": false}, {"label": "C", "text": "40 days", "correct": true}, {"label": "D", "text": "28 days", "correct": false}], "correct_answer": "C. 40 days", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - 4\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following indicators is the best to know the overall burden of disease?", "options": [{"label": "A", "text": "Quality-adjusted life years (QALY)", "correct": false}, {"label": "B", "text": "Health-adjusted life expectancy (HALE)", "correct": false}, {"label": "C", "text": "Disability-adjusted life years (DALY)", "correct": true}, {"label": "D", "text": "Disability-free life expectancy (DFLE)", "correct": false}], "correct_answer": "C. Disability-adjusted life years (DALY)", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Disability-adjusted life years (DALY)</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Quality-adjusted Life Years (QALY)</strong></p>\n<p><strong>(Option A) </strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Quality and quantity of life lived.</li>\n<li>Assesses number of years of life added due to the intervention and hence the benefit and value for money of the intervention</li>\n<li>QALY - 1 year of life lived in <u>perfect</u> health</li>\n<li>Positive indicator of the cost-effectiveness of an intervention.</li>\n<li>Scored between 0 (death) and 1 (perfect health).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Disability-adjusted Life Years (DALY)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>DALY= Years of life lost to <span class=\"customMeta\" data-dictid=\"84f13673191692777196762b18e036\">premature</span> death + years lived with disability</li>\n<li>1 DALY: 1 year of healthy life lost</li>\n<li>It is a measure of the burden of disease and the effectiveness of intervention</li>\n</ul>\n<p><strong>Year of life lost (YLL):</strong></p>\n<ul>\n<li>Calculated from the number of deaths at each age multiplied by the expected remaining years of life according to a global standard life expectancy.</li>\n</ul>\n<p><strong>Years lost to disability (YLD):</strong></p>\n<ul>\n<li>Where the number of incident cases due to injury and illness is multiplied by the average duration of the disease and a weighting factor reflecting the severity of the disease on a scale from 0 (perfect health) to 1 (dead).</li>\n</ul>\n<p><strong>DALY = YLL + YLD</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Health Adjusted Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> (HALE) (Option B) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>The average number of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live in full health considering the current age-specific mortality rate.<br/>\n\t\t\t\tHealthy Life Expectancy</li>\n</ul>\n<p>HALE = Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> at birth + adjustment of time spent in poor health</p>\n<p>HALE = LE-DALY</p>\n<p><strong>Life Expectancy</strong></p>\n<ul>\n<li>Average no. of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live, considering the current age-specific mortality rate.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Sullivan’s index (or DFLE) (Option D) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>Disability-free life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> (DFLE) with the current pattern of mortality and disability.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A public health worker is going out into the community once every 15 days for collection of blood smears for malaria surveillance. What type of surveillance is this?", "options": [{"label": "A", "text": "Sentinel", "correct": false}, {"label": "B", "text": "Active", "correct": true}, {"label": "C", "text": "Passive", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "B. Active", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - Activ\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Match the following stages with their relevant descriptions: 1. Pre-pathogenesis a. Normal course without any intervention 2. Pathogenesis b. Appearance of clinical signs and symptoms 3. Natural history of a disease c. Reaching normalcy with the help of the community 4. Rehabilitation d. Period before the onset of the disease", "options": [{"label": "A", "text": "1-c, 2-d, 3-a, 4-d", "correct": false}, {"label": "B", "text": "1-d, 2-b, 3-a, 4-c", "correct": true}, {"label": "C", "text": "1-b, 2-d, 3-c, 4-d", "correct": false}, {"label": "D", "text": "1-a, 2-c, 3-d, 4-b", "correct": false}], "correct_answer": "B. 1-d, 2-b, 3-a, 4-c", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following explains Social factors and disease causation ?", "options": [{"label": "A", "text": "Sociology", "correct": false}, {"label": "B", "text": "Social pathology", "correct": true}, {"label": "C", "text": "Society", "correct": false}, {"label": "D", "text": "Community", "correct": false}], "correct_answer": "B. Social pathology", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Social patholog\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following demographic indicators is used to compare the life expectancy of two different countries?", "options": [{"label": "A", "text": "QALY", "correct": false}, {"label": "B", "text": "DALY", "correct": false}, {"label": "C", "text": "HDI", "correct": true}, {"label": "D", "text": "HPI", "correct": false}], "correct_answer": "C. HDI", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - HDI:</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Minimum</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Maximum</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MYS (mean years of schooling)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0 y</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>13.1 y</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Expected years of schooling</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0 y</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>18 y</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Education index</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0.978</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Income (PPP)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100$</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>107,721$</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Live <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at birth</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20 y</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>83.4 y</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Combination of indicators</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>PQLI</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>HDI</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0 < PQLI < 100</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>0 < HDI < +1</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>India 65</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>India 0.640</li>\n<li>.5 to .8 is medium country development</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 35-year-old man is unemployed because he is unable to walk after an accident . His unemployment is classified as a:", "options": [{"label": "A", "text": "Disability", "correct": false}, {"label": "B", "text": "Handicap", "correct": true}, {"label": "C", "text": "Disease/disorder", "correct": false}, {"label": "D", "text": "Impairment", "correct": false}], "correct_answer": "B. Handicap", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - H\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to the NACO guidelines, what level of prevention is achieved when an HIV patient undergoes counselling and screening for TB at an ICTC clinic?", "options": [{"label": "A", "text": "Primordial", "correct": false}, {"label": "B", "text": "Primary", "correct": false}, {"label": "C", "text": "Secondary", "correct": false}, {"label": "D", "text": "Primary &amp; secondary", "correct": true}], "correct_answer": "D. Primary & secondary", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Primary and S\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A government plans to outline tobacco control laws. What is the level of prevention here?", "options": [{"label": "A", "text": "Primordial prevention", "correct": false}, {"label": "B", "text": "Primary prevention", "correct": true}, {"label": "C", "text": "Secondary prevention", "correct": false}, {"label": "D", "text": "Tertiary prevention", "correct": false}], "correct_answer": "B. Primary prevention", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Hand washing during COVID-19 is what level of prevention?", "options": [{"label": "A", "text": "Primordial prevention", "correct": false}, {"label": "B", "text": "Primary prevention", "correct": true}, {"label": "C", "text": "Secondary prevention", "correct": false}, {"label": "D", "text": "Tertiary prevention", "correct": false}], "correct_answer": "B. Primary prevention", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The years of potential life lost could be attributed to:", "options": [{"label": "A", "text": "Years lost to morbidity", "correct": false}, {"label": "B", "text": "Years lost due to premature death", "correct": true}, {"label": "C", "text": "Years lost to disability", "correct": false}, {"label": "D", "text": "Years lost to poor quality of life", "correct": false}], "correct_answer": "B. Years lost due to premature death", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:775px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Crude death rate</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>CDR = (Total no. or deaths in a community/ MYP (Mid-year population) in the same area) x 100</p>\n<ul>\n<li>The mid-year population is taken on 1st July</li>\n<li>Limitation: It does not consider the age and sex of the population</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Age-specific death rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>ASDR = (Total no. of deaths in a particular age group (eg. 20-24yrs) a given area in a year/ MYP of the age group in the same area and year) x 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Expectation of life</strong></p>\n<p> </p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at birth: A positive mortality indicator· Average no. of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live, considering the current age-specific mortality rates in a community.</li>\n<li>Important component to calculate the Human Development Index (HDI).</li>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at one year is PQLI. In 2021, life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> in India is <strong>69.7 years</strong>.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Infant mortality rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>IMR = (Total number of deaths (0-1-year-old) in a given year / Total number of live births in the same year) x 1000. It is a health status indicator.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Under-five mortality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>U5MR = (Total number of deaths (0-5 years old) in a given year /Total number of live births in one year) x 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Maternal Mortality Rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Maternal Mortality Rate (MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/women in the <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group [15-49 years]) x 100,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Maternal Mortality Ratio (MMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Maternal Mortality <strong>Ratio </strong>(MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/Live Births) x 100,000</p>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Adult mortality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Probability of dying between 15 to 60 years of life</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Year of potential life lost </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Premature death measurement. If life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> is 75 years, and death happens at age 30, then 45 years of potential life is lost</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Proportional mortality rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>The simplest measure of the burden of disease (Total deaths due to disease 'x'/ Total deaths in a community)́ x 100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Case fatality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>CFR = (Deaths due to diseases ‘z’ / total no of cases of disease ‘z’) x 100</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:765px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Quality-adjusted Life Years (QALY)</strong></p>\n<p><strong>(Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Quality and quantity of life lived.</li>\n<li>Assesses number of years of life added due to the intervention and hence the benefit and value for money of the intervention</li>\n<li>QALY - 1 year of life lived in <u>perfect</u> health</li>\n<li>Positive indicator of the cost-effectiveness of an intervention.</li>\n<li>Scored between 0 (death) and 1 (perfect health).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Disability-adjusted Life Years (DALY)</strong></p>\n<p><strong>(Option C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>DALY= Years of life lost to <span class=\"customMeta\" data-dictid=\"84f13673191692777196762b18e036\">premature</span> death + years lived with disability</li>\n<li>1 DALY: 1 year of healthy life lost</li>\n<li>It is a measure of the burden of disease and the effectiveness of intervention<br/>\n\t\t\t\t </li>\n</ul>\n<p><strong>Year of life lost (YLL):</strong></p>\n<ul>\n<li>Calculated from the number of deaths at each age multiplied by the expected remaining years of life according to a global standard life expectancy.<br/>\n\t\t\t\t </li>\n</ul>\n<p><strong>Years lost to disability (YLD):</strong></p>\n<ul>\n<li>Where the number of incident cases due to injury and illness is multiplied by the average duration of the disease and a weighting factor reflecting the severity of the disease on a scale from 0 (perfect health) to 1 (dead).</li>\n</ul>\n<p> </p>\n<p><strong>DALY = YLL + YLD</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Health Adjusted Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> (HALE)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>The average number of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live in full health considering the current age-specific mortality rate.<br/>\n\t\t\t\tHealthy Life Expectancy\n\t\t\t\t<ul>\n<li>HALE = Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> at birth + adjustment of time spent in poor health</li>\n<li>HALE = LE-DALY</li>\n</ul>\n</li>\n</ul>\n<p><strong>Life Expectancy</strong></p>\n<ul>\n<li>Average no. of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live, considering the current age-specific mortality rate.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Sullivan’s index<br/>\n\t\t\t(or DFLE)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>Disability-free life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> (DFLE) with the current pattern of mortality and disability.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What level of prevention is being addressed by administering an injection of benzathine penicillin to a patient with rheumatic heart disease?", "options": [{"label": "A", "text": "Primordial", "correct": false}, {"label": "B", "text": "Primary", "correct": false}, {"label": "C", "text": "Secondary", "correct": true}, {"label": "D", "text": "Tertiary", "correct": false}], "correct_answer": "C. Secondary", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C) Secondary:</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Level of Prevention </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Goals </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Examples </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Primordial (Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>To prevent the establishment of risk factors</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Lifestyle modification</li>\n<li>Health promotion</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Primary (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Interventions to prevent the onset of disease</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Vaccinations</li>\n<li>Health education</li>\n<li>Family planning</li>\n<li>Use of <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> nets</li>\n<li><strong>Pre-placement examination</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Secondary (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Early <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> and prompt treatment of disease to prevent complications</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Screening tests (e.g., mammograms, PAP smears)</li>\n<li>Self-examinations</li>\n<li>Health camps with screening</li>\n<li>DOTS for TB; ART for HIV; MDT for leprosy.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tertiary (Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Interventions to manage and reduce complications of existing disease to prevent disability or death</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Rehabilitation</li>\n<li>Physical therapy</li>\n<li>Chronic disease management programs</li>\n<li>Reconstructive surgery</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not a part of the global hunger index?", "options": [{"label": "A", "text": "U5MR", "correct": false}, {"label": "B", "text": "Malnutrition", "correct": false}, {"label": "C", "text": "Inadequate food supply", "correct": false}, {"label": "D", "text": "Infant mortality rate", "correct": true}], "correct_answer": "D. Infant mortality rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Fs3lR4c8Bnq1YKKZZjIG1747306635.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following diseases has the maximum submerged portion of the iceberg?", "options": [{"label": "A", "text": "Influenza", "correct": true}, {"label": "B", "text": "Chicken pox", "correct": false}, {"label": "C", "text": "Tetanus", "correct": false}, {"label": "D", "text": "Rabies", "correct": false}], "correct_answer": "A. Influenza", "question_images": ["https://image.prepladder.com/content/Abm171q9riyMqHCWV6ia1724842801.png"], "explanation_images": ["https://image.prepladder.com/content/qxA1ErMKfeaXmx9lsr811724842878.png", "https://image.prepladder.com/content/n9GVzg73YJMVbfnlv3LO1724842898.png"], "explanation": "<p>Correct Option A - Influ\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not a primary level of prevention for specific protection?", "options": [{"label": "A", "text": "Meningitis prophylaxis in exposed contacts/relatives", "correct": false}, {"label": "B", "text": "Hand washing", "correct": true}, {"label": "C", "text": "Vaccination", "correct": false}, {"label": "D", "text": "Adding iron to wheat flour", "correct": false}], "correct_answer": "B. Hand washing", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Hand washing\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "On Republic Day, a medical camp was held to screen individuals for hypertension (HTN) by measuring their blood pressure (BP) and for diabetes mellitus (DM) by assessing their body mass index (BMI) and blood sugar level. The purpose of this camp was to determine the level of prevention.", "options": [{"label": "A", "text": "Primary", "correct": false}, {"label": "B", "text": "Primordial", "correct": false}, {"label": "C", "text": "Secondary", "correct": true}, {"label": "D", "text": "Tertiary", "correct": false}], "correct_answer": "C. Secondary", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - S\n<table style=\"width:100%\">\n<tbody>\n<tr>\n<td style=\"text-align:center\"><strong>Level of Prevention</strong></td>\n<td style=\"text-align:center\"><strong>Definition</strong></td>\n<td style=\"text-align:center\"><strong>Example</strong></td>\n</tr>\n<tr>\n<td><strong>Primary Prevention</strong></td>\n<td>Focuses on preventing the occurrence of a disease or condition before it occurs</td>\n<td>\n<ul>\n<li>Immunizations to prevent <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> diseases</li>\n<li>Promotion of healthy lifestyle behaviors</li>\n<li>Environmental modifications to reduce exposure to hazards</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td><strong>Secondary Prevention</strong></td>\n<td>Aims to detect and treat a disease or condition in its early stages to prevent further <span class=\"customMeta\" data-dictid=\"3c305b384216927771969ca4166493\">progression</span> and complications</td>\n<td>\n<ul>\n<li>Regular screenings for cancer, such as mammograms and <span class=\"customMeta\" data-dictid=\"db0c1e31b81692777194c625af6798\">Pap</span> smears</li>\n<li>Blood pressure and cholesterol screenings for <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> disease</li>\n<li>Early intervention programs for developmental delays in children</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td><strong>Tertiary Prevention</strong></td>\n<td>Focuses on managing and rehabilitating individuals who already have a diagnosed disease or condition to reduce its impact and prevent complications</td>\n<td>\n<ul>\n<li>Cardiac rehabilitation programs for individuals with heart disease</li>\n<li>Support groups for individuals with chronic conditions</li>\n<li>Rehabilitation services for individuals with disabilities</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Vaccination &amp; Mass chemoprophylaxis represent", "options": [{"label": "A", "text": "Health promotion", "correct": false}, {"label": "B", "text": "Specific protection", "correct": true}, {"label": "C", "text": "Early diagnosis and treatment", "correct": false}, {"label": "D", "text": "Rehabilitation", "correct": false}], "correct_answer": "B. Specific protection", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - S\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 31 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "In a recent census survey conducted in a developing country, the government aims to measure the literacy levels among its population accurately. The survey team decides to calculate both the crude literacy rate and the effective literacy rate to gain a comprehensive understanding. What distinguishes the effective literacy rate from the crude literacy rate?", "options": [{"label": "A", "text": "It provides a broad measure of literacy across all age groups.", "correct": false}, {"label": "B", "text": "It focuses on the population aged 7 years and above.", "correct": true}, {"label": "C", "text": "The literacy rate is calculated using the total population as the denominator.", "correct": false}, {"label": "D", "text": "It includes the entire population.", "correct": false}], "correct_answer": "B. It focuses on the population aged 7 years and above.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/ZdExR7EMSEFL0F0W3UoT1725023362.jpg", "https://image.prepladder.com/content/Cx2fsbnd1EXzlXItlT6Y1725023453.jpg"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Crude Literacy Rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Effective Literacy Rate</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong>: The literacy rate is calculated using the total population as the denominator. (Option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong>: The literacy rate is calculated using the population aged 7 years and above as the denominator.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"79\" src=\"https://image.prepladder.com/content/ZdExR7EMSEFL0F0W3UoT1725023362.jpg\" width=\"400\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"105\" src=\"https://image.prepladder.com/content/Cx2fsbnd1EXzlXItlT6Y1725023453.jpg\" width=\"380\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Includes the entire population. (Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Focuses on the population aged 7 years and above.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Provides a broad measure of literacy across all age groups. (Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Offers a more specific measure of literacy among individuals more likely to have completed basic education.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/et2Xgx2K34Q5g3uuojEK1746474964.mp3", "video": ""}, {"text": "Which of the following topics was NOT included in the NFHS-5 conducted in 2019-21?", "options": [{"label": "A", "text": "Blood pressure", "correct": false}, {"label": "B", "text": "Access to toilet facility", "correct": false}, {"label": "C", "text": "HIV status", "correct": true}, {"label": "D", "text": "Methods used for termination of pregnancy", "correct": false}], "correct_answer": "C. HIV status", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:582px\">\n<tbody>\n<tr>\n<td style=\"vertical-align:top\">\n<ul>\n<li>Disability</li>\n<li>Access to toilet facilities</li>\n<li>Death registration</li>\n<li>Menstrual hygiene</li>\n</ul>\n</td>\n<td style=\"vertical-align:top\">\n<ul>\n<li>Methods and reasons for abortion</li>\n<li>Hip and waist measurements</li>\n<li>Expansion of age range for measurement of</li>\n<li>Blood pressure level and blood glucose</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:487px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Parameter </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Value </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Sex ratio</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">1020; 929 at birth</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Total <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> rate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">2.0</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Effective literacy rate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">84.4%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Adult literacy rate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">71.5%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Anaemia in females (15-49 years)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">67%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Total <span class=\"customMeta\" data-dictid=\"4fe4b79dde16927771866f60a939e2\">dependency</span> ratio</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">48.7</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/AKXRDGEFtuGkw2PgaSoW1746473435.mp3", "video": ""}, {"text": "According to the system, which has the logo below and under the Central Birth and Death Registration Act, 1969, what is the time limit for registering for birth and death events in India?", "options": [{"label": "A", "text": "28 days", "correct": false}, {"label": "B", "text": "21 days", "correct": true}, {"label": "C", "text": "30 days", "correct": false}, {"label": "D", "text": "60 days", "correct": false}], "correct_answer": "B. 21 days", "question_images": ["https://image.prepladder.com/content/g5FmvD5GvB0L0R5vHzVG1719845655.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BK0JvuYlqMOyWfTao7ae1746473278.mp3", "video": ""}, {"text": "Which of the following statements are true regarding the Sample registration system?", "options": [{"label": "A", "text": "An independent survey is conducted by an investigator-supervisor every 6 months.", "correct": false}, {"label": "B", "text": "Key data components of SRS are the number of births and death", "correct": false}, {"label": "C", "text": "An enumerator continuously keeps track of the birth and death count", "correct": false}, {"label": "D", "text": "All of the above", "correct": true}], "correct_answer": "D. All of the above", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/h1fKfNw9EqGIujDVhsZQ1746473581.mp3", "video": ""}, {"text": "Which of the following data components are provided by the census? Population size and distribution HIV status and reproductive health status Education and employment status Nutritional status", "options": [{"label": "A", "text": "2, 3 and 4", "correct": false}, {"label": "B", "text": "2 and 4", "correct": false}, {"label": "C", "text": "1, 3 and 4", "correct": false}, {"label": "D", "text": "1 and 3", "correct": true}], "correct_answer": "D. 1 and 3", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/P96E1vtz1kKTXzKyqorX1746473739.mp3", "video": ""}, {"text": "What does the De facto method of data collection refer to?", "options": [{"label": "A", "text": "Information is collected only from a certain subset of the population.", "correct": false}, {"label": "B", "text": "Information is based on where people are found during the census.", "correct": true}, {"label": "C", "text": "Information is based on the individual's legal proof of permanent residency.", "correct": false}, {"label": "D", "text": "Information is only from institutional households.", "correct": false}], "correct_answer": "B. Information is based on where people are found during the census.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>De facto method</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>De jure method</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>This refers to collecting information based on the people's current location at the time of the survey.</li>\n<li>This method was used in the Indian Census only up to the 1930s</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>This refers to the collection of information based on the individual's legal proof of permanent residency, regardless of where they stay during the survey.</li>\n<li>The Indian census survey currently uses this method.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Example</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A legal resident of New Delhi may be living and working in Mumbai during the census; thus, if the <span class=\"customMeta\" data-dictid=\"233d458dd316927771854358419c86\">de</span> facto method is used, his data will be collected during the Mumbai census survey.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A legal resident of New Delhi may be living and working in Mumbai during the census; thus, if the <span class=\"customMeta\" data-dictid=\"233d458dd316927771854358419c86\">de</span> jure method is used, his data will be collected during the New Delhi census survey.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mIFnxRM77pls41bvxwFX1746473923.mp3", "video": ""}, {"text": "Which of the following is also known as the final impact indicator in the National family planning program?", "options": [{"label": "A", "text": "Total Fertility Rate (TFR)", "correct": false}, {"label": "B", "text": "Net Reproductive Rate (NRR)", "correct": true}, {"label": "C", "text": "Couples protection rate (CPR)", "correct": false}, {"label": "D", "text": "Gross Reproductive Rate (GRR)", "correct": false}], "correct_answer": "B. Net Reproductive Rate (NRR)", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1ApwrJ22SGFiplbXy8Nx1746474107.mp3", "video": ""}, {"text": "Which of the following indicators helps to achieve the target of the national family planning program?", "options": [{"label": "A", "text": "Age-specific fertility rate (ASFR)", "correct": false}, {"label": "B", "text": "Total fertility rate (TFR)", "correct": false}, {"label": "C", "text": "General fertility rate (GFR)", "correct": false}, {"label": "D", "text": "Couple protection rate (CPR)", "correct": true}], "correct_answer": "D. Couple protection rate (CPR)", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/KemVCxuXzSj1weOrmDvt1725026421.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wZQrpDAJjUWn2WgLPz6l1746474235.mp3", "video": ""}, {"text": "Which of the following is NOT true regarding the Net reproductive rate (NRR)?", "options": [{"label": "A", "text": "Indicator of complete family size", "correct": true}, {"label": "B", "text": "Defined as the no. of daughters or girls a newborn girl will bear or will have throughout her reproductive lifespan, considering the current age-specific fertility patterns and mortality rates", "correct": false}, {"label": "C", "text": "The most sensitive indicator to evaluate the National family planning program", "correct": false}, {"label": "D", "text": "Mortality-dependent fertility indicator", "correct": false}], "correct_answer": "A. Indicator of complete family size", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Net <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> rate (NRR)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">NRR is the number of daughters or girls a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> will bear or have throughout her <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> lifespan, considering the current age-specific <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> patterns and mortality rates. (Option B)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Interpretation </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align:center\">It is the most sensitive indicator to evaluate <strong>National family planning program</strong> (Option C)</li>\n<li style=\"text-align:center\">It is a mortality-dependent <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> indicator. (Option D)</li>\n<li style=\"text-align:center\">It is the best measure of growth of a population.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ajJ8El6lJSUYRucsO1N01745324152.mp3", "video": ""}, {"text": "In a population, the age-specific fertility rates (ASFR) are given for the following age groups: Age range Age-specific fertility rates (ASFR) Age-specific fertility rates (ASFR) per 1000 women 15-19 years 80 45 20-24 years 280 120 25-29 years 220 110 30-34 years 170 90 35-39 years 85 45 40-44 years 21 10 45-49 years 3 2 Calculate the Gross Reproductive Rate (GRR) for the age group of 25 years.", "options": [{"label": "A", "text": "13.5", "correct": false}, {"label": "B", "text": "11.9", "correct": true}, {"label": "C", "text": "18.9", "correct": false}, {"label": "D", "text": "21.4", "correct": false}], "correct_answer": "B. 11.9", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/AvdrGEL4aVORvLlIuqUo1719843425.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following best defines the total fertility rate (TFR)?", "options": [{"label": "A", "text": "Total live births per 1000 women in a specific age group per year.", "correct": false}, {"label": "B", "text": "Average live births per 1000 women of reproductive age (15-49 years) per year.", "correct": false}, {"label": "C", "text": "Average number of children per woman based on current fertility rates throughout her reproductive life (15-49 years).", "correct": true}, {"label": "D", "text": "Number of live births in a given year divided by the mid-year population, multiplied by 1,000.", "correct": false}], "correct_answer": "C. Average number of children per woman based on current fertility rates throughout her reproductive life (15-49 years).", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Bm9yj1WiKmv81ozvFxwN1719843072.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/VktO4ZOyZs5MzLHWkeip1746474414.mp3", "video": ""}, {"text": "A health research team is studying fertility patterns in two neighbouring urban regions. The team decides to use the general and age-specific fertility rates for their analysis. Which approach will provide a more detailed understanding of fertility behaviour when comparing fertility patterns between the two regions?", "options": [{"label": "A", "text": "Live births per 1000 women of childbearing age, 15-49 years", "correct": false}, {"label": "B", "text": "Live births per 1000 total population", "correct": false}, {"label": "C", "text": "Live births per 1000 women in specific age groups", "correct": true}, {"label": "D", "text": "Total number of births in the population", "correct": false}], "correct_answer": "C. Live births per 1000 women in specific age groups", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/noi6tjZV6bd5gZGdmMbn1725024505.jpg", "https://image.prepladder.com/content/2GJaLv2r9Ru5FLJ4YUNu1725024541.jpg"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:1200px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>General <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">Fertility</span> rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Age-specific <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> rate (ASFR)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The total number of live births in an area in a year per 1000 women in the <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group (15- 44 or 49 years). (Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Number of live births in a year per 1000 women in any specific age group. (Option C)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disadvantages and advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disadvantage</strong>:</p>\n<p>Not everyone in the <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group is exposed to the risk of childbirth</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Advantages</strong>:</p>\n<ul>\n<li>Unlike <span class=\"customMeta\" data-dictid=\"e7d9ee9a751692777185de5098800a\">crude</span> birth rate(CBR), ASFR is unaffected by differences, changes in population age composition</li>\n<li>It gives the <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> trends of a country.</li>\n<li>ASFR is more useful than <span class=\"customMeta\" data-dictid=\"1c745475f51692777188c744487e6f\">GFR</span> in comparing:\n\t\t\t\t<ul>\n<li>Different populations</li>\n<li>Sub-groups of the same population.</li>\n<li>Measuring changes in <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> over time in the same population</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ftpvkPwo3eZAVHPzdg0V1746474654.mp3", "video": ""}, {"text": "Which of the following best defines the crude birth rate?", "options": [{"label": "A", "text": "Live births per 1,000 people in mid-year population per year", "correct": true}, {"label": "B", "text": "Live births per 1,000 people in annual population per year", "correct": false}, {"label": "C", "text": "Live births and stillbirths per 100,000 people in the mid-year population per year", "correct": false}, {"label": "D", "text": "Live births and stillbirths per 100,000 people in annual population per year", "correct": false}], "correct_answer": "A. Live births per 1,000 people in mid-year population per year", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/EakPXkI8bE6WPY4wZioR1725023961.jpg", "https://image.prepladder.com/content/HDcVg0bMyY45vzgD7b0c1725023998.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:708px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Crude birth rates</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Crude death rates</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Number of live births per 1000 estimated</p>\n<p>mid-year population in a given year.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Number of deaths (from all causes) per</p>\n<p>1000 estimated mid-year population in one year in a given place.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Statistics</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>India’s current CBR is 19.5/1000 mid-year population. (2020)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>India’s current <span class=\"customMeta\" data-dictid=\"76cda71d0816927771831b9561b42f\">CDR</span> is 6/1000 mid-year population. (2020)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Drawbacks</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It gives a rough measure of <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> by giving birth rates, and not everyone in the population is exposed to childbirth.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lack of comparability across communities with different age, sex, race, etc.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BmsYhe47CF4jphhebsSQ1746474795.mp3", "video": ""}, {"text": "In the graph of a demographic transition model given below, identify the following.", "options": [{"label": "A", "text": "A- Death rate, B- Population, C- Birth rate, X- Late expanding", "correct": false}, {"label": "B", "text": "A- Birth rate, B- Death rate, C- Population, X- Late expanding", "correct": true}, {"label": "C", "text": "A- Death rate, B- Birth rate, C- Population, X- Early expanding", "correct": false}, {"label": "D", "text": "A- Birth rate, B- Death rate, C- Population, X- Early expanding", "correct": false}], "correct_answer": "B. A- Birth rate, B- Death rate, C- Population, X- Late expanding", "question_images": ["https://image.prepladder.com/content/sVAhboEZvjBOAuxXibOv1725015742.jpg"], "explanation_images": ["https://image.prepladder.com/content/4fayqBSAo75qsGhuokmA1725017720.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Stages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Birth rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Death rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Population </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">High stationery</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">High</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">High</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Population is stable</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Early expanding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">High</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Starts declining</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Population grows at faster rate.</p>\n<ul>\n<li style=\"text-align:center\">Aka <strong>Demographic trap</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Late expanding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Starts declining</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Keeps declining</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Population grows at slower rate (birth > death)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Low stationery</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Low</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Low</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Stable population</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Declining</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Low</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Lower</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Population declines (death rate > birth rate)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ePSw0VOv8sVQYvqdbJxU1741597819.mp3", "video": ""}, {"text": "Which of the following is a positive mortality indicator?", "options": [{"label": "A", "text": "Life expectancy", "correct": true}, {"label": "B", "text": "Infant mortality rate", "correct": false}, {"label": "C", "text": "Crude death rate", "correct": false}, {"label": "D", "text": "Under 5 mortality rate", "correct": false}], "correct_answer": "A. Life expectancy", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/yhNqIO8gE9lns9QAkv2k1725021350.jpg", "https://image.prepladder.com/content/RNnAVo5oG5I9GWU6M6SX1725021413.jpg", "https://image.prepladder.com/content/mIq1RrW9bfxo2O793NUm1725021463.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qXIPjV6mdJDn5BANuMEa1746475120.mp3", "video": ""}, {"text": "A country has 40 million people under 15, 30 million aged 65 and over, and 150 million aged 15-64. What is the dependency ratio?", "options": [{"label": "A", "text": "46.7%", "correct": true}, {"label": "B", "text": "50.7%", "correct": false}, {"label": "C", "text": "56.7%", "correct": false}, {"label": "D", "text": "60.7%", "correct": false}], "correct_answer": "A. 46.7%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/XsOA6ZGBnyFlqjhZTzmv1725020375.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/plW3ioieIdJqEOFZ4YLm1741603432.mp3", "video": ""}, {"text": "Which of the following are the implications of female deficit syndrome?", "options": [{"label": "A", "text": "Increases maternal mortality.", "correct": false}, {"label": "B", "text": "Bias towards males in population counts.", "correct": false}, {"label": "C", "text": "Results in gender inequities.", "correct": false}, {"label": "D", "text": "All of the above", "correct": true}], "correct_answer": "D. All of the above", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/FAATcDQboRNJgW9prYGC1725020768.jpg", "https://image.prepladder.com/content/HAhNXVmFtacZ6yzYHilJ1725020840.png"], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Explanation: Female Deficit Syndrome</li><li>↳ Sex Ratio : Number of females per 1000 males.</li><li>↳ Sex Ratio : Number of females per 1000 males.</li><li>↳ Sex Ratio</li><li>↳ Importance in Demography : Crucial for understanding population dynamics. Influencing Factors : Mortality differences between genders. Sex-selective migration. Sex ratio at birth. Implications of Low Sex Ratio : Indicates a preference for male children. Results in gender inequities.(Option C) This leads to neglect of girls, higher female mortality in youth, female infanticide, and foeticide. Increases maternal mortality. (Option A) Bias towards males in population counts. (Option B)</li><li>↳ Importance in Demography : Crucial for understanding population dynamics.</li><li>↳ Importance in Demography</li><li>↳ Influencing Factors : Mortality differences between genders. Sex-selective migration. Sex ratio at birth.</li><li>↳ Influencing Factors</li><li>↳ Mortality differences between genders. Sex-selective migration. Sex ratio at birth.</li><li>↳ Mortality differences between genders.</li><li>↳ Sex-selective migration.</li><li>↳ Sex ratio at birth.</li><li>↳ Implications of Low Sex Ratio : Indicates a preference for male children. Results in gender inequities.(Option C) This leads to neglect of girls, higher female mortality in youth, female infanticide, and foeticide. Increases maternal mortality. (Option A) Bias towards males in population counts. (Option B)</li><li>↳ Implications of Low Sex Ratio</li><li>↳ Indicates a preference for male children. Results in gender inequities.(Option C) This leads to neglect of girls, higher female mortality in youth, female infanticide, and foeticide. Increases maternal mortality. (Option A) Bias towards males in population counts. (Option B)</li><li>↳ Indicates a preference for male children.</li><li>↳ Results in gender inequities.(Option C)</li><li>↳ This leads to neglect of girls, higher female mortality in youth, female infanticide, and foeticide.</li><li>↳ Increases maternal mortality. (Option A)</li><li>↳ Bias towards males in population counts. (Option B)</li></u\n<p><strong>References:</strong></p>\n<ul><li>↳ Female Deficit Syndrome</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TdytcU6HQCQEA0zNL53e1741603315.mp3", "video": ""}, {"text": "Match the following terms and definitions with Terms Definitions 1. Demographic Burden a) Period of decrease in the dependency ratio 2. Demographic Bonus b) Indicates a rise in the total dependency ratio 3. Demographic Window c) Increase in economic growth rate 4. Demographic Dividend d) Peak working-age population phase", "options": [{"label": "A", "text": "1-b, 2-a, 3-d, 4-c", "correct": true}, {"label": "B", "text": "1-d, 2-a, 3-c, 4-b", "correct": false}, {"label": "C", "text": "1-c, 2-b, 3-a, 4-d", "correct": false}, {"label": "D", "text": "1-a, 2-c, 3-b, 4-d", "correct": false}], "correct_answer": "A. 1-b, 2-a, 3-d, 4-c", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Y2q0BZQDAk8eXvbpARm91746475261.mp3", "video": ""}, {"text": "Which of the following is NOT true regarding demographic gifts?", "options": [{"label": "A", "text": "It occurs when there is a significant increase in the working-age population.", "correct": false}, {"label": "B", "text": "It involves a higher proportion of elderly individuals.", "correct": true}, {"label": "C", "text": "It leads to a demographic dividend for economic development.", "correct": false}, {"label": "D", "text": "It is associated with a decline in dependency ratios.", "correct": false}], "correct_answer": "B. It involves a higher proportion of elderly individuals.", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/Pp3s7MoXrwI0vt9i9bcX1733284326.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:567px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Demographic Gift</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Demographic Liability</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The demographic gift occurs when the working-age population is high relative to dependents.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The higher proportion of elderly individuals refers to demographic liability.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Represents a potential demographic dividend due to a larger workforce contributing to economic growth.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Represents potential economic challenges due to increased <span class=\"customMeta\" data-dictid=\"4fe4b79dde16927771866f60a939e2\">dependency</span> ratios and healthcare costs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contributors include higher productivity, increased savings, and economic growth</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dependents include retirees, elderly individuals, and those requiring significant healthcare</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BxfNHYqhZNGl70DIsHsP1741603188.mp3", "video": ""}, {"text": "Population pyramid represents the age and sex composition of a population. All of the following statements about a Population Pyramid are false except?", "options": [{"label": "A", "text": "A broad base and narrow apex indicate a high fertility rate and low life expectancy.", "correct": true}, {"label": "B", "text": "The width of the base of a population pyramid represents the elderly population.", "correct": false}, {"label": "C", "text": "They always have a symmetrical shape across all countries.", "correct": false}, {"label": "D", "text": "Population pyramids are static and do not change over time.", "correct": false}], "correct_answer": "A. A broad base and narrow apex indicate a high fertility rate and low life expectancy.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/svXkhrW4rF5un2RxYhzo1725019484.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/bejjdmLUm6Bi2nfsyC6J1741603017.mp3", "video": ""}, {"text": "Population and Vital statistics represent the demography of a population. Which of the following is not considered a vital statistic in demography?", "options": [{"label": "A", "text": "Birth rate", "correct": false}, {"label": "B", "text": "Death rate", "correct": false}, {"label": "C", "text": "Life expectancy at birth", "correct": false}, {"label": "D", "text": "Sex ratio", "correct": true}], "correct_answer": "D. Sex ratio", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:541px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Population statistics</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Vital statistics</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\">Population size</li>\n<li style=\"text-align: center;\">Sex ratio</li>\n<li style=\"text-align: center;\">Literacy rate</li>\n<li style=\"text-align: center;\">Dependency ratio</li>\n<li style=\"text-align: center;\">Population density</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\">Birth rate</li>\n<li style=\"text-align: center;\">Death rate</li>\n<li style=\"text-align: center;\">Natural growth rate</li>\n<li style=\"text-align: center;\">Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at birth</li>\n<li style=\"text-align: center;\">Mortality rate</li>\n<li style=\"text-align: center;\">Fertility rate</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/c4iqURQsCAeF7Ptzwzmr1741602862.mp3", "video": ""}, {"text": "Assuming a population follows the Malthusian growth model and doubles in number in 20 years, what is its annual growth rate?", "options": [{"label": "A", "text": "2.8%", "correct": false}, {"label": "B", "text": "3.5 %", "correct": true}, {"label": "C", "text": "0.28", "correct": false}, {"label": "D", "text": "35%", "correct": false}], "correct_answer": "B. 3.5 %", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:400px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Time taken to double</strong> =<strong> 70 / Annual growth rate</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:334px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Annual growth rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Doubling time </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>If 1 %</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>70 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>If 0.5 %</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>140 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>If 2 %</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>35 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>If 1.5 %</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50 years</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/hvnbeLCorb4mFeS4Ok841741602746.mp3", "video": ""}, {"text": "Demographic transition refers to a change of demographic parameters like birth rate and death rate along with the dynamic process of socio- economic scenario. Which of the following scenarios best describes the demographic trap of a country?", "options": [{"label": "A", "text": "High birth rate (CBR) and declining death rate (CDR) lead to outpaced economic growth and resources.", "correct": true}, {"label": "B", "text": "Declining birth rate (CBR), which falls below the death rate (CDR), thus leading to shrinkage of the population.", "correct": false}, {"label": "C", "text": "High birth rate (CBR) and high death rate (CDR) leading to a stable population without growth", "correct": false}, {"label": "D", "text": "Both B and C", "correct": false}], "correct_answer": "A. High birth rate (CBR) and declining death rate (CDR) lead to outpaced economic growth and resources.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1HTZgVwB81TXSlZkg62u1741602626.mp3", "video": ""}, {"text": "Based on the demographic transition model, which transition phase does India belong to?", "options": [{"label": "A", "text": "Early expanding", "correct": false}, {"label": "B", "text": "Late expanding", "correct": true}, {"label": "C", "text": "Low stationery", "correct": false}, {"label": "D", "text": "Declining", "correct": false}], "correct_answer": "B. Late expanding", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/UC2mDU3bfkyBfl1FrWBj1725017904.jpg"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:570px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Stage </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Countries </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>I - High stationery</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>India until 1920</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>II - Early expanding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>African and south Asian countries</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>III - Late expanding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>India</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>IV - Low stationary</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Austria, Denmark, Sweden</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>V - Declining</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Germany, Italy, United Kingdom, Japan</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qYr2F4nyiu8rXX5x5uzG1741602508.mp3", "video": ""}, {"text": "Which of the following is associated with the term demographic gap?", "options": [{"label": "A", "text": "People entering and people leaving the country", "correct": false}, {"label": "B", "text": "Crude birth rate and crude death rate", "correct": true}, {"label": "C", "text": "Male population and female population", "correct": false}, {"label": "D", "text": "Age group of males and females", "correct": false}], "correct_answer": "B. Crude birth rate and crude death rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/UPXUUcOIR2JwYmPVNqch1725017417.jpg"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:508px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Demographic gap = <span class=\"customMeta\" data-dictid=\"e7d9ee9a751692777185de5098800a\">Crude</span> birth rate - <span class=\"customMeta\" data-dictid=\"e7d9ee9a751692777185de5098800a\">Crude</span> death rate</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Phases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Demographic gap</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Explanation</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>1. High stationery </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Minimum</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Both birth and death rates are high, leading to minimal population growth.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>2. Early expanding </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Maximum</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Death rates drop rapidly while birth rates remain high, causing a population explosion.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>3. Late expanding </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Narrowing or Contracting</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Birth rates begin to decline and approach lower death rates, slowing population growth.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>4. Low stationery </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Minimum</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Both birth and death rates are low and roughly equal, leading to a stable population size.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>5. Declining </strong><strong> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Negative</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Birth rates fall below death rates, leading to population decline.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/b3AXLK0RZ1YVSdzxSTaz1741602419.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 35 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Marriage and mortality belong under?", "options": [{"label": "A", "text": "Demographic process", "correct": true}, {"label": "B", "text": "Demographic dividend", "correct": false}, {"label": "C", "text": "Demographic bonus", "correct": false}, {"label": "D", "text": "Demographic window", "correct": false}], "correct_answer": "A. Demographic process", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Number of live births per 1000 women in the reproductive age group in a year refers to:", "options": [{"label": "A", "text": "Gross reproduction rate", "correct": false}, {"label": "B", "text": "Total fertility rate", "correct": false}, {"label": "C", "text": "Net reproduction rate", "correct": false}, {"label": "D", "text": "General fertility rate", "correct": true}], "correct_answer": "D. General fertility rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/uICLBPGERfpufYhfH6vS1748156640.png"], "explanation": "<p>Correct Option D) General <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> rate</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:400px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>General <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">Fertility</span> rate </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The total number of live births in an area in a year per 1000 women in the</p>\n<p>reproductive age group (15- 44 or 49 years).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Disadvantages and advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Disadvantage</strong>:</p>\n<p>Not everyone in the <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group is exposed to the risk of childbirth</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following fertility indicator can change with changes in age-specific mortality rates?", "options": [{"label": "A", "text": "General fertility rate", "correct": false}, {"label": "B", "text": "Total fertility rate", "correct": false}, {"label": "C", "text": "Gross reproduction rate", "correct": false}, {"label": "D", "text": "Net reproductive rate", "correct": true}], "correct_answer": "D. Net reproductive rate", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Net <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> rate (NRR)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>NRR is the number of daughters or girls a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> will bear or have throughout her <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> lifespan, considering the current age-specific <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> patterns and mortality rates.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Interpretation </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>It is the most sensitive indicator to evaluate National family planning program</li>\n<li>It is a mortality-dependent <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> indicator.<strong> (Option D)</strong></li>\n<li>It is the best measure of growth of a population.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the formula of crude birth rate?", "options": [{"label": "A", "text": "(Total number of births / Estimated midyear Population) 1,000", "correct": false}, {"label": "B", "text": "(Number of live births / Estimated midyear women Population) 1,000", "correct": false}, {"label": "C", "text": "(Number of live births/ Estimated midyear Population) 1,000", "correct": true}, {"label": "D", "text": "(Number of live births / Estimated midyear Population) 1,0000", "correct": false}], "correct_answer": "C. (Number of live births/ Estimated midyear Population) 1,000", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/SfyyGc6F1ryWG8xnotQO1748156339.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:395px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Crude birth rates</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of live births per 1000 estimated</p>\n<p>mid-year population in a given year.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Formula</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"268\" src=\"https://image.prepladder.com/content/SfyyGc6F1ryWG8xnotQO1748156339.png\" width=\"1567\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Statistics</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>India’s current CBR is 19.5/1000 mid-year population. (2020)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Drawbacks</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>It gives a rough measure of <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> by giving birth rates, and not everyone in the population is exposed to childbirth.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "When is the population evaluated to calculate the crude death rate?", "options": [{"label": "A", "text": "1st July", "correct": true}, {"label": "B", "text": "1st January", "correct": false}, {"label": "C", "text": "31st December", "correct": false}, {"label": "D", "text": "1st may", "correct": false}], "correct_answer": "A. 1st July", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following indicators is not included in the Global Hunger Index (GHI) ?", "options": [{"label": "A", "text": "Infant mortality rate", "correct": true}, {"label": "B", "text": "Under-5 mortality rate", "correct": false}, {"label": "C", "text": "Percentage of undernourished population", "correct": false}, {"label": "D", "text": "Percentage of undernourished children under 5 years", "correct": false}], "correct_answer": "A. Infant mortality rate", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "For a population of 10,000, what does a sex ratio of more than 1000 mean?", "options": [{"label": "A", "text": "Males are less than 500", "correct": false}, {"label": "B", "text": "Females are less than 500", "correct": false}, {"label": "C", "text": "Males are less than 5000", "correct": true}, {"label": "D", "text": "Females are less than 5000", "correct": false}], "correct_answer": "C. Males are less than 5000", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/xlmXM4lArGFs0O7iiqwv1746101177.png", "https://image.prepladder.com/content/FD4l6eLAWJuaBoTehf9M1746101182.png"], "explanation": "<p>Correct Answer C - Males are less than 5000</p>\n<p><strong>References:</strong></p>\n<ul><li>↳ Importance in Demography : Crucial for understanding population dynamics.</li><li>↳ Importance in Demography</li><li>↳ Influencing Factors : Mortality differences between genders. Sex-selective migration. Sex ratio at birth.</li><li>↳ Influencing Factors</li><li>↳ Mortality differences between genders. Sex-selective migration. Sex ratio at birth.</li><li>↳ Mortality differences between genders.</li><li>↳ Sex-selective migration.</li><li>↳ Sex ratio at birth.</li><li>↳ Implications of Low Sex Ratio : Indicates a preference for male children. Results in gender inequities. This leads to neglect of girls, higher female mortality in youth, female infanticide, and foeticide. Increases maternal mortality. Bias towards males in population counts.</li><li>↳ Implications of Low Sex Ratio</li><li>↳ Indicates a preference for male children. Results in gender inequities. This leads to neglect of girls, higher female mortality in youth, female infanticide, and foeticide. Increases maternal mortality. Bias towards males in population counts.</li><li>↳ Indicates a preference for male children.</li><li>↳ Results in gender inequities.</li><li>↳ This leads to neglect of girls, higher female mortality in youth, female infanticide, and foeticide.</li><li>↳ Increases maternal mortality.</li><li>↳ Bias towards males in population counts.</li><li>↳ Males are less than 500 (Option A) : This is incorrect because the male population being so low would result in an extremely skewed sex ratio, which is unrealistic in this context.</li><li>↳ Males are less than 500 (Option A)</li><li>↳ Females are less than 500 (Option B) : This is incorrect because a sex ratio greater than 1000 implies there are more females, not fewer.</li><li>↳ Females are less than 500 (Option B)</li><li>↳ Females are less than 5000 (Option D) : This is incorrect because for the sex ratio to exceed 1000, the number of females must be more than 5000.</li><li>↳ Females are less than 5000 (Option D)</li></u\n<p><strong>References:</strong></p>\n<ul><li>↳ Female Deficit Syndrome</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The number of maternal deaths per 100,000 live births is called-", "options": [{"label": "A", "text": "Maternal mortality ratio", "correct": true}, {"label": "B", "text": "Under 5 Mortality Rate", "correct": false}, {"label": "C", "text": "Infant mortality rate", "correct": false}, {"label": "D", "text": "Perinatal mortality rate", "correct": false}], "correct_answer": "A. Maternal mortality ratio", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">Maternal</span> mortality ratio</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Indicator</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Formula</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>India Value</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Most Common Cause</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Infant Mortality Rate (IMR) <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Infant deaths / Live Births × 1000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>33</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Low Birth Weight (LBW) & Prematurity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Maternal Mortality Ratio (MMR)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Maternal deaths / Live Births × 100,000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>122</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Postpartum <span class=\"customMeta\" data-dictid=\"4642acfc0c16927771880b34fa5174\">Hemorrhage</span> (PPH)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Under 5 Mortality Rate (U5MR) <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Total Under 5 deaths / Live Births × 1000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>39</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Low Birth Weight (LBW) & Prematurity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Neonatal Mortality Rate (NNR)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Neonatal deaths / Live Births × 1000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>24</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Low Birth Weight (LBW) & Prematurity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Perinatal Mortality Rate (PNMR) <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Perinatal deaths / Live Births × 1000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>23</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Low Birth Weight (LBW) & Prematurity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Stillbirth Rate (SBR)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Total Stillbirths / Live Births × 1000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>22</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Maternal infections / <span class=\"customMeta\" data-dictid=\"f5df620f42169277718051194dc6e4\">Abruptio</span> placentae</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The term demographic bonus is due to:", "options": [{"label": "A", "text": "Decline in dependency ratio", "correct": true}, {"label": "B", "text": "Increase in dependency ratio", "correct": false}, {"label": "C", "text": "Increase in population", "correct": false}, {"label": "D", "text": "Decrease in population", "correct": false}], "correct_answer": "A. Decline in dependency ratio", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/i6rY5XDmTf5zoxsNKbA91747724463.png"], "explanation": "<p>Correct Answer A - Decline in <span class=\"customMeta\" data-dictid=\"4fe4b79dde16927771866f60a939e2\">dependency</span> ratio</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Demographic Gift</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Demographic Liability</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The demographic gift occurs when the working-age population is high relative to dependents.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The higher proportion of elderly individuals refers to demographic liability.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Represents a potential demographic dividend due to a larger workforce contributing to economic growth.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Represents potential economic challenges due to increased <span class=\"customMeta\" data-dictid=\"4fe4b79dde16927771866f60a939e2\">dependency</span> ratios and healthcare costs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Contributors include higher productivity, increased savings, and economic growth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Dependents include retirees, elderly individuals, and those requiring significant healthcare</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the current ideal total fertility rate in India?", "options": [{"label": "A", "text": "2.3", "correct": false}, {"label": "B", "text": "2.2", "correct": false}, {"label": "C", "text": "2.1", "correct": true}, {"label": "D", "text": "2.0", "correct": false}], "correct_answer": "C. 2.1", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/6frgkkPNFo3YnsS07WgW1745909235.png"], "explanation": "<p>Correct Answer C - 2.\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The average number of children a woman would have if she were to pass through her reproductive years bearing children at the same rates as the women in her age group is called as:", "options": [{"label": "A", "text": "General fertility rate", "correct": false}, {"label": "B", "text": "Total fertility rate", "correct": true}, {"label": "C", "text": "Gross reproduction rate", "correct": false}, {"label": "D", "text": "Net reproduction rate", "correct": false}], "correct_answer": "B. Total fertility rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/PU2elX2bdiKxIW6Pd5tZ1745907830.png"], "explanation": "<p>Correct Answer B - Total <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What phase of the demographic cycle is the low stationary phase of demographic cycle?", "options": [{"label": "A", "text": "Phase 1", "correct": false}, {"label": "B", "text": "Phase 2", "correct": false}, {"label": "C", "text": "Phase 3", "correct": false}, {"label": "D", "text": "Phase 4", "correct": true}], "correct_answer": "D. Phase 4", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/vBRC4JbzThgZvMHA5sjQ1745907731.png"], "explanation": "<p>Correct Answer D - <span class=\"customMeta\" data-dictid=\"e9aca840061692777195df858e7591\">Phase 4</span> </p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Stages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Birth rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Death rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Population </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>I. High stationery <strong>(Option A)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population is stable</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>II. Early expanding <strong>(Option B)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Starts declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population grows at faster rate . Also called demographic trap</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>III. Late expanding <strong>(Option C)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Starts declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Keeps declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population grows at slower rate (birth > death)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>IV. Low stationery</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Stable population</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>V. Declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population declines (death rate > birth rate)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which stage of the demographic cycle has the highest birth and death rates?", "options": [{"label": "A", "text": "Stage I", "correct": true}, {"label": "B", "text": "Stage II", "correct": false}, {"label": "C", "text": "Stage III", "correct": false}, {"label": "D", "text": "Stage IV", "correct": false}], "correct_answer": "A. Stage I", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Infant mortality rate is typically stated as a rate per how many live births.?", "options": [{"label": "A", "text": "100", "correct": false}, {"label": "B", "text": "1000", "correct": true}, {"label": "C", "text": "10,000", "correct": false}, {"label": "D", "text": "1,00,000", "correct": false}], "correct_answer": "B. 1000", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the sensitive indicator to assess the availability, utilization, and effectiveness of healthcare in a community?", "options": [{"label": "A", "text": "Infant mortality rate", "correct": true}, {"label": "B", "text": "Maternal mortality rate", "correct": false}, {"label": "C", "text": "Immunization coverage", "correct": false}, {"label": "D", "text": "Disability-adjusted life years", "correct": false}], "correct_answer": "A. Infant mortality rate", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:775px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Crude death rate</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p>CDR = (Total no. or deaths in a community/ MYP (Mid-year population) in the same area) x 100</p>\n<ul>\n<li>The mid-year population is taken on 1st July</li>\n<li>Limitation: It does not consider the age and sex of the population</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Age-specific death rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>ASDR = (Total no. of deaths in a particular age group (eg. 20-24yrs) a given area in a year/ MYP of the age group in the same area and year) x 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Expectation of life</strong></p>\n<p> </p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at birth: A positive mortality indicator· Average no. of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live, considering the current age-specific mortality rates in a community.</li>\n<li>Important component to calculate the Human Development Index (HDI).</li>\n<li>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> at one year is PQLI. In 2021, life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> in India is <strong>69.7 years</strong>.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Infant mortality rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>IMR = (Total number of deaths (0-1-year-old) in a given year / Total number of live births in the same year) x 1000. It is a health status indicator.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Under-five mortality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>U5MR = (Total number of deaths (0-5 years old) in a given year /Total number of live births in one year) x 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Maternal Mortality Rate (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Maternal Mortality Rate (MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/women in the <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group [15-49 years]) x 100,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Maternal Mortality Ratio (MMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Maternal Mortality <strong>Ratio </strong>(MMR) = (Total no. of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths/Live Births) x 100,000</p>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Adult mortality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Probability of dying between 15 to 60 years of life</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Year of potential life lost </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Premature death measurement. If life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> is 75 years, and death happens at age 30, then 45 years of potential life is lost</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Proportional mortality rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>The simplest measure of the burden of disease (Total deaths due to disease 'x'/ Total deaths in a community)́ x 100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Case fatality rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>CFR = (Deaths due to diseases ‘z’ / total no of cases of disease ‘z’) x 100</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:765px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p><strong>Quality-adjusted Life Years (QALY)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<ul>\n<li>Quality and quantity of life lived.</li>\n<li>Assesses number of years of life added due to the intervention and hence the benefit and value for money of the intervention</li>\n<li>QALY - 1 year of life lived in <u>perfect</u> health</li>\n<li>Positive indicator of the cost-effectiveness of an intervention.</li>\n<li>Scored between 0 (death) and 1 (perfect health).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Disability-adjusted Life Years (DALY)</strong></p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>DALY= Years of life lost to <span class=\"customMeta\" data-dictid=\"84f13673191692777196762b18e036\">premature</span> death + years lived with disability</li>\n<li>1 DALY: 1 year of healthy life lost</li>\n<li>It is a measure of the burden of disease and the effectiveness of intervention<br/>\n\t\t\t\t </li>\n</ul>\n<p><strong>Year of life lost (YLL):</strong></p>\n<ul>\n<li>Calculated from the number of deaths at each age multiplied by the expected remaining years of life according to a global standard life expectancy.<br/>\n\t\t\t\t </li>\n</ul>\n<p><strong>Years lost to disability (YLD):</strong></p>\n<ul>\n<li>Where the number of incident cases due to injury and illness is multiplied by the average duration of the disease and a weighting factor reflecting the severity of the disease on a scale from 0 (perfect health) to 1 (dead).</li>\n</ul>\n<p> </p>\n<p><strong>DALY = YLL + YLD</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Health Adjusted Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> (HALE)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>The average number of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live in full health considering the current age-specific mortality rate.<br/>\n\t\t\t\tHealthy Life Expectancy\n\t\t\t\t<ul>\n<li>HALE = Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> at birth + adjustment of time spent in poor health</li>\n<li>HALE = LE-DALY</li>\n</ul>\n</li>\n</ul>\n<p><strong>Life Expectancy</strong></p>\n<ul>\n<li>Average no. of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live, considering the current age-specific mortality rate.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Sullivan’s index<br/>\n\t\t\t(or DFLE)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<ul>\n<li>Disability-free life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> (DFLE) with the current pattern of mortality and disability.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Stages of the demographic cycle with the same birth rate but variable death rate are?", "options": [{"label": "A", "text": "Stage 1 + stage 2", "correct": true}, {"label": "B", "text": "Stage 2 + stage 3", "correct": false}, {"label": "C", "text": "Stage 3 + stage 5", "correct": false}, {"label": "D", "text": "Stage 4 + stage 5", "correct": false}], "correct_answer": "A. Stage 1 + stage 2", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/r0QKMGcDmMpfZPYXv9Hz1747206812.png"], "explanation": "<p>Correct Option A - Stage 1 + stage 2</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Stages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Birth rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Death rate </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Population </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>High stationery </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population is stable</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Early expanding </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Starts declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population rapidly expands</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Late expanding</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Starts declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Keeps declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population still grows (birth > death)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low stationery</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Stable population</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Declining</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Population declines (death > birth)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a family, Mr. X is 69 years old, and his wife, Mrs. X, is 58 years old. They have a 30-year-old son, his 28-year-old wife, and a 5-year-old grandchild. Calculate the dependency ratio for this family.", "options": [{"label": "A", "text": "0.33", "correct": false}, {"label": "B", "text": "0.66", "correct": true}, {"label": "C", "text": "0.22", "correct": false}, {"label": "D", "text": "0.44", "correct": false}], "correct_answer": "B. 0.66", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/VAjwBs2QwwqxhTUmdfkU1747378077.png"], "explanation": "<p>Correct Option B - 0.66\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the growth rate if the crude birth rate is 19 and the crude death rate is 7?", "options": [{"label": "A", "text": "1.2%", "correct": true}, {"label": "B", "text": "0.7%", "correct": false}, {"label": "C", "text": "1.1%", "correct": false}, {"label": "D", "text": "1.5%", "correct": false}], "correct_answer": "A. 1.2%", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- 1.2%\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following provides valuable information about the reproductive behavior of couples within a population?", "options": [{"label": "A", "text": "TFR", "correct": true}, {"label": "B", "text": "NRR", "correct": false}, {"label": "C", "text": "GFR", "correct": false}, {"label": "D", "text": "GRR", "correct": false}], "correct_answer": "A. TFR", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not included in MMR?", "options": [{"label": "A", "text": "Death due to RTA", "correct": true}, {"label": "B", "text": "Death due to preeclampsia", "correct": false}, {"label": "C", "text": "Death due to ectopic pregnancy", "correct": false}, {"label": "D", "text": "Death on the 14th day postpartum", "correct": false}], "correct_answer": "A. Death due to RTA", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Calculate the maternal mortality ratio in a population of 2 lakhs, with 4000 live births, and 5 stillbirths where 2 died due to ectopic, 2 by abortion, 2 by electrocution, 2 deaths by sepsis and 4 by PPH?", "options": [{"label": "A", "text": "25 per one lakh", "correct": false}, {"label": "B", "text": "250 per lakh", "correct": true}, {"label": "C", "text": "500 per lakh", "correct": false}, {"label": "D", "text": "100 per lakh", "correct": false}], "correct_answer": "B. 250 per lakh", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Arrange the following stages of the demographic cycle in the correct order: Early expanding High stationary Late expanding Low stationary", "options": [{"label": "A", "text": "1, 2, 3, 4", "correct": false}, {"label": "B", "text": "2, 1, 3, 4", "correct": true}, {"label": "C", "text": "1, 3, 2, 4", "correct": false}, {"label": "D", "text": "3, 2, 4, 1", "correct": false}], "correct_answer": "B. 2, 1, 3, 4", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/5FibZ9RMXGiaXWRdngd81724851172.png"], "explanation": "<p>Correct Option B - 2, 1, 3, 4\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What does the provided population pyramid indicate, with the exception of?", "options": [{"label": "A", "text": "Developing countries", "correct": false}, {"label": "B", "text": "Developed countries", "correct": true}, {"label": "C", "text": "Increasing population", "correct": false}, {"label": "D", "text": "More young population", "correct": false}], "correct_answer": "B. Developed countries", "question_images": ["https://image.prepladder.com/content/LIsuHFNk7xTc84ajbzEV1685089332.png"], "explanation_images": ["https://image.prepladder.com/content/7O56YWfCtlouO6Wf3kly1713779866.png", "https://image.prepladder.com/content/f6qec1DpRrH9KvZmZMcV1685089490.png", "https://image.prepladder.com/content/kIhAqQxpGG5JoxPkGybP1685089496.png", "https://image.prepladder.com/content/Ypvxw1fbUdXhCCtbpvzP1685089516.png"], "explanation": "<p>Correct Option B - Developed Cou\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yVr78Ahyhpdp3gveqAJf1746476063.mp3", "video": ""}, {"text": "Which of the following statements accurately describes the fifth stage of the demographic cycle?", "options": [{"label": "A", "text": "Birth rate remains unchanged", "correct": false}, {"label": "B", "text": "Death rate increases", "correct": false}, {"label": "C", "text": "Demographic gap is positive", "correct": false}, {"label": "D", "text": "Birth rate falls below death rate", "correct": true}], "correct_answer": "D. Birth rate falls below death rate", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Birth Rate Falls below Death R\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/U0ZxIBONlyHJdewmWBhC1746475920.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 34 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Identify the primary air pollutants among the following options: Carbon Monoxide (CO) Methane (CH4) Sulfur Dioxide (SO2) Nitrogen Dioxide (NO2) Ozone (O3) Lead (Pb)", "options": [{"label": "A", "text": "1, 3, 4, and 5", "correct": false}, {"label": "B", "text": "2, 3, 4, and 6", "correct": false}, {"label": "C", "text": "1, 3, 4, and 6", "correct": true}, {"label": "D", "text": "1, 2, 4, and 5", "correct": false}], "correct_answer": "C. 1, 3, 4, and 6", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:531px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Primary</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Secondary</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Carbon <span class=\"customMeta\" data-dictid=\"03077f6c8716927771923763487a9e\">Monoxide</span> (CO)</strong></li>\n<li><strong>Sulfur <span class=\"customMeta\" data-dictid=\"0bd01a042116927771868e3482910e\">Dioxide</span> (SO₂)</strong></li>\n<li><strong>Nitrogen Oxides (NOₓ)</strong></li>\n<li>Particulate Matter (PM₁₀, PM₂.₅)</li>\n<li>Volatile Organic Compounds</li>\n<li><strong>Lead (Pb)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Ozone (O₃)</strong></li>\n<li><strong>Methane (CH4) </strong></li>\n<li>Sulfates</li>\n<li>Nitrates</li>\n<li>Secondary <span class=\"customMeta\" data-dictid=\"d4226a4b2e169277719459bb9339d6\">Particulate</span> Matter</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/lyaZrZL6eWv63kbrvuvD1742155949.mp3", "video": ""}, {"text": "Which of the following is not an indicator of air pollution?", "options": [{"label": "A", "text": "SO 2", "correct": false}, {"label": "B", "text": "Soiling index", "correct": false}, {"label": "C", "text": "Air Quality Index (AQI)", "correct": false}, {"label": "D", "text": "McArdle's index", "correct": true}], "correct_answer": "D. McArdle's index", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:698px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sulphur <span class=\"customMeta\" data-dictid=\"0bd01a042116927771868e3482910e\">Dioxide</span> (SO</strong><strong><sub>2</sub></strong><strong>)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>A gas emitted from burning fossil fuels and industrial processes; causes <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> problems and acid rain.</li>\n<li>Most important indicator of air pollution.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Soiling Index</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Measures the accumulation of <span class=\"customMeta\" data-dictid=\"d4226a4b2e169277719459bb9339d6\">particulate</span> matter (dirt) on surfaces.</li>\n<li>Specific amount of air is filtered through a <span class=\"customMeta\" data-dictid=\"9d4d4522c81692777203d73da4cb36\">filter paper</span> and the <span class=\"customMeta\" data-dictid=\"b29a1a16ab1692777199ede1c6e28b\">stain</span> is measured by a <span class=\"customMeta\" data-dictid=\"e56c1714431692777195f7a8cd958f\">photoelectric</span> meter.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Grit and Dust Measurement</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Quantifies the concentration of dust, grit deposits and small <span class=\"customMeta\" data-dictid=\"d4226a4b2e169277719459bb9339d6\">particulate</span> matter present in the air.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Coefficient of Haze</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Measures smoke and other aerosols in air.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Air Pollution Index (API)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Composite measure of overall air quality based on concentrations of various pollutants.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Jp7nT90OBziszbC46jZQ1742155762.mp3", "video": ""}, {"text": "A patient resides in an area with an AQI of 250. What does it indicate?", "options": [{"label": "A", "text": "Very Poor", "correct": false}, {"label": "B", "text": "Moderate", "correct": false}, {"label": "C", "text": "Satisfactory", "correct": false}, {"label": "D", "text": "Poor", "correct": true}], "correct_answer": "D. Poor", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Air Quality Index (AQI)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Category</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0-50</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Good</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>51-100</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Satisfactory</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>101-200</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Moderate</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>201-300</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Poor</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>301-400</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Very Poor</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>401-500</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Severe/Hazardous</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/o86wiGCjkrvdz45OiWYa1742155843.mp3", "video": ""}, {"text": "Match the following question Indoor Air Pollutants and their Sources: Pollutant Source 1. Polyaromatic hydrocarbons a. Destruction of construction materials 2. Asbestos b. Adhesives, Solvents and Aerosol sprays 3. Aldehydes c. Fuel consumption 4. Benzene d. Furnishings and Construction materials", "options": [{"label": "A", "text": "1-c, 2-a, 3-d, 4-b", "correct": true}, {"label": "B", "text": "1-b, 2-c, 3-a, 4-c", "correct": false}, {"label": "C", "text": "1-d, 2-a, 3-c, 4-b", "correct": false}, {"label": "D", "text": "1-a, 2-b, 3-d, 4-c", "correct": false}], "correct_answer": "A. 1-c, 2-a, 3-d, 4-b", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:691px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Source</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Pollutant</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Fuel consumption</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Carbon monoxide, Polyaromatic hydrocarbons, <span class=\"customMeta\" data-dictid=\"391d32291016927771932bab695579\">Nitrogen</span> oxides</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tobacco consumption</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Carbon monoxide, Polyaromatic hydrocarbons</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Coal combustion</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sulphur oxides, arsenic, and fluorine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Furnishings, construction materials, cooking</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Aldehydes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Remodelling and destruction of construction materials</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Asbestos</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Remodelling/demolition of painted surfaces, leaded fuels, smelting</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lead</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Building and construction materials</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Radon</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Adhesives, solvents, <span class=\"customMeta\" data-dictid=\"c54afbcf861692777180adb352ee0d\">aerosol</span> sprays, <span class=\"customMeta\" data-dictid=\"a827c4ff761692777197d2d623f057\">resin</span> products</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Organic vapours like benzene, toluene</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Incineration, coal burning, <span class=\"customMeta\" data-dictid=\"784bd236b21692777195bf9eb52a33\">petroleum</span> burning</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hydrocarbons</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tGTY1VSbjs4v8KP7QNJZ1742816717.mp3", "video": ""}, {"text": "Which of the following is best measured by McArdle's Index?", "options": [{"label": "A", "text": "Cooling power of air", "correct": false}, {"label": "B", "text": "Heat stress", "correct": false}, {"label": "C", "text": "Predictable 4 hours sweat rate", "correct": true}, {"label": "D", "text": "Corrected effective temperature", "correct": false}], "correct_answer": "C. Predictable 4 hours sweat rate", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:694px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cooling Power of air <strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Determines the capacity of the atmosphere to dissipate the <span class=\"customMeta\" data-dictid=\"fceb6bf8d01692777192b8b179f554\">metabolite</span> heat generated by humans.</li>\n<li>Includes 3 components: Air temperature, Air <span class=\"customMeta\" data-dictid=\"941f005c7d1692777189872035c678\">humidity</span> and low air velocity.</li>\n<li>Measured by a <span class=\"customMeta\" data-dictid=\"2ba51fabaa1692777190a88380ae7d\">Kata</span> thermometer.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Heat Stress Index <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>The ratio of <span class=\"customMeta\" data-dictid=\"ba781584bf1692777187409f3dcc80\">evaporation</span> required to maintain heat balance to maximum <span class=\"customMeta\" data-dictid=\"ba781584bf1692777187409f3dcc80\">evaporation</span> maintained in a particular environment is expressed as a percentage.</li>\n<li>Related to body sweating.</li>\n<li>It ranges from 0 to 100.\n\t\t\t\t<ul>\n<li>Severe heat strain: 40 to 60</li>\n<li>Very severe heat strain: 70 to 90</li>\n<li>The upper limit of heat tolerance: 100.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Effective Temperature</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Measures <span class=\"customMeta\" data-dictid=\"2b785ba0631692777189ea5b535665\">heat stress</span> index.</li>\n<li>This includes air temperature, air humidity, and airflow/air <span class=\"customMeta\" data-dictid=\"12c4510e191692777201c23ec126a3\">velocity</span> and <span class=\"customMeta\" data-dictid=\"579dcf5fc51692777185eef17a83c6\">cooling</span> power of air</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corrected effective temperature <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>A better indicator of air comfort than effective temperature.</li>\n<li>Includes 4 components: Air temperature, air humidity, air velocity, Mean <span class=\"customMeta\" data-dictid=\"e042c37d881692777197155713288b\">radiant</span> heat ( i.e Effective temperature+ mean <span class=\"customMeta\" data-dictid=\"e042c37d881692777197155713288b\">radiant</span> heat)</li>\n<li>A Globe <span class=\"customMeta\" data-dictid=\"ddda61658016927772000045e45a57\">thermometer</span> is an instrument used to measure this.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/N0N8AasCXpCCvs21WyeJ1742156081.mp3", "video": ""}, {"text": "What is the instrument's name, shown below, for measuring low air velocity?", "options": [{"label": "A", "text": "Globe thermometer", "correct": false}, {"label": "B", "text": "Kata thermometer", "correct": true}, {"label": "C", "text": "Wet bulb hygrometer", "correct": false}, {"label": "D", "text": "Anemometer", "correct": false}], "correct_answer": "B. Kata thermometer", "question_images": ["https://image.prepladder.com/content/6pKOJgCmsWLtISu96ONk1719916821.png"], "explanation_images": ["https://image.prepladder.com/content/qUmZW5KvKMstomK6aTNY1719916840.png", "https://image.prepladder.com/content/FUnskQj1qSwXWM4SADz91719916856.png", "https://image.prepladder.com/content/XGsvDQtBW0mAaOYbEGA81719916865.png", "https://image.prepladder.com/content/e8cmWRCkmiCGvJdXr6DV1719916877.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Kata thermometer:</strong></p>\n\t\t\t \n\n\t\t\t<ul>\n<li>Identification: It has a narrow and thin bulb that is red-coloured.</li>\n<li>Used to measure\n\t\t\t\t<ul>\n<li><strong>Low air velocity.</strong></li>\n<li>Cooling power of air (rarely) as it does not provide reliable estimates.</li>\n</ul>\n</li>\n</ul>\n<ul>\n<li>The <span class=\"customMeta\" data-dictid=\"579dcf5fc51692777185eef17a83c6\">cooling</span> power of air is an indicator of air comfort.</li>\n<li>A dry Kata reading of more than 6 and a wet Kata reading of more than 20 indicate <span class=\"customMeta\" data-dictid=\"e316517c941692777200eb2671128d\">thermal</span> comfort.\n\t\t\t\t<p style=\"text-align:center\"><img alt=\"\" data-author=\"James Joseph Hicks\" data-hash=\"\" data-license=\"CC0\" data-source=\"https://collection.sciencemuseumgroup.org.uk/objects/co2907/kata-thermometer-by-j-hicks-no-6879-thermometers\" data-tags=\"\" height=\"350\" src=\"https://image.prepladder.com/content/qUmZW5KvKMstomK6aTNY1719916840.png\" width=\"320\"/></p>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Globe thermometer:</strong></p>\n\t\t\t \n\n\t\t\t<ul>\n<li>Identification: A thick and wide bulb is present.</li>\n<li>Used to measure corrected effective temperature or <span class=\"customMeta\" data-dictid=\"e042c37d881692777197155713288b\">radiant</span> heat.</li>\n</ul>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Casella (London) Limited\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://collection.sciencemuseumgroup.org.uk/objects/co2912/globe-thermometer-t6454-thermometers\" data-tags=\"\" height=\"350\" src=\"https://image.prepladder.com/content/FUnskQj1qSwXWM4SADz91719916856.png\" width=\"300\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Wet bulb hygrometer:</strong></p>\n<ul>\n<li>Used to measure the relative <span class=\"customMeta\" data-dictid=\"941f005c7d1692777189872035c678\">humidity</span> of the atmosphere.\n\t\t\t\t<p style=\"text-align:center\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"350\" src=\"https://image.prepladder.com/content/XGsvDQtBW0mAaOYbEGA81719916865.png\" width=\"250\"/></p>\n</li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Anemometer:</strong></p>\n<ul>\n<li>Used to measure air <span class=\"customMeta\" data-dictid=\"12c4510e191692777201c23ec126a3\">velocity</span> in the early days.</li>\n</ul>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Mr. Sean Linehan, NOS, NGS\" data-hash=\"\" data-license=\"Mr. Sean Linehan\" data-source=\"https://en.wikipedia.org/wiki/Anemometer#/media/File:Wea00920.jpg\" data-tags=\"\" height=\"350\" src=\"https://image.prepladder.com/content/e8cmWRCkmiCGvJdXr6DV1719916877.png\" width=\"300\"/></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kVkKWzt5HlVttaKxFOpb1742156230.mp3", "video": ""}, {"text": "Which of the following statements regarding the following device are not true? It measures radiant heat flux. It is used to assess thermal comfort in indoor environments. It measures a lower temperature than the ordinary air temperature It measures air temperature directly. It is not used to measure the cooling power of air.", "options": [{"label": "A", "text": "3 and 4", "correct": true}, {"label": "B", "text": "2 and 3", "correct": false}, {"label": "C", "text": "4 and 5", "correct": false}, {"label": "D", "text": "3, 4 and 5", "correct": false}], "correct_answer": "A. 3 and 4", "question_images": ["https://image.prepladder.com/content/JGqn4BiEJYfKD1jOYchI1719917141.png"], "explanation_images": ["https://image.prepladder.com/content/xAbRoxdSRSD0CCRigdmZ1719917149.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:680px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Air quality measurement</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Globe thermometer</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Casella (London) Limited\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://collection.sciencemuseumgroup.org.uk/objects/co2912/globe-thermometer-t6454-thermometers\" data-tags=\"\" height=\"350\" src=\"https://image.prepladder.com/content/xAbRoxdSRSD0CCRigdmZ1719917149.png\" width=\"300\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Thick, wide and <span class=\"customMeta\" data-dictid=\"3f9a320e1a169277718983ee3d1860\">hollow</span> <strong>copper</strong> bulb coated with matt black paint.</li>\n<li>Used to measure <strong>corrected effective temperature or mean <span class=\"customMeta\" data-dictid=\"e042c37d881692777197155713288b\">radiant</span> heat </strong>(convection/ transferred heat). <strong>(STATEMENT 1)</strong></li>\n<li>While the globe <span class=\"customMeta\" data-dictid=\"ddda61658016927772000045e45a57\">thermometer</span> does measure a component of air temperature, it primarily measures the mean <span class=\"customMeta\" data-dictid=\"e042c37d881692777197155713288b\">radiant</span> temperature, which is a combined effect of air temperature, <span class=\"customMeta\" data-dictid=\"e042c37d881692777197155713288b\">radiant</span> heat, and air movement <strong>(Statment 4).</strong></li>\n<li>Registers higher temperature than the ordinary air temperature <strong>(STATEMENT 3)</strong></li>\n<li>Influenced by <strong>air movement <span class=\"customMeta\" data-dictid=\"12c4510e191692777201c23ec126a3\">velocity</span> and temperature</strong></li>\n<li>A wet globe <span class=\"customMeta\" data-dictid=\"ddda61658016927772000045e45a57\">thermometer</span> consists of a blackened <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> sphere completely covered with wet black cloth that exchanges heat by conduction, convection, <span class=\"customMeta\" data-dictid=\"ba781584bf1692777187409f3dcc80\">evaporation</span> and radiation (like sweating).</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dPMXh7058L5wzSyIiSwp1742816917.mp3", "video": ""}, {"text": "All of the following instruments can be used to measure air humidity except?", "options": [{"label": "A", "text": "No options available", "correct": false}], "correct_answer": "Unknown", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/SIlM0pu2kE7KTOaQy0cW1719917409.png", "https://image.prepladder.com/content/jhpYhCUxOGSn7FMjQMRk1719917444.png", "https://image.prepladder.com/content/o0wADCPKtEo98bYpH2sh1719917459.png", "https://image.prepladder.com/content/nzgs1sjAydYFCbsUQS0K1719917553.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Air <span class=\"customMeta\" data-dictid=\"941f005c7d1692777189872035c678\">humidity</span> measuring instruments</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Hygrometer</strong><img alt=\"\" data-author=\"Daniel FR \" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Hygrometer#/media/File:Haar-Hygrometer.jpg\" data-tags=\"\" height=\"372\" src=\"https://image.prepladder.com/content/SIlM0pu2kE7KTOaQy0cW1719917409.png\" width=\"366\"/></li>\n</ol>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Sling psychrometer</strong><br/>\n<img alt=\"\" data-author=\"Cambridge Bay Weather\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Wet-bulb_temperature#/media/File:Sling_psychrometer.JPG\" data-tags=\"\" height=\"386\" src=\"https://image.prepladder.com/content/jhpYhCUxOGSn7FMjQMRk1719917444.png\" width=\"512\"/></li>\n</ol>\n<p>1. Wet and dry thermometers are mounted side by side</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Assman psychrometer</strong></li>\n</ol>\n<p><img alt=\"\" data-author=\"Assmann\" data-hash=\"\" data-license=\"CC0\" data-source=\"https://www.si.edu/object/nmah_1167487\" data-tags=\"\" height=\"512\" src=\"https://image.prepladder.com/content/o0wADCPKtEo98bYpH2sh1719917459.png\" width=\"187\"/></p>\n<p>1. Can be used even in strong sunshine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li><strong>Dry and wet bulb hygrometer</strong></li>\n</ol>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"512\" src=\"https://image.prepladder.com/content/nzgs1sjAydYFCbsUQS0K1719917553.png\" width=\"187\"/></p>\n<p>1. Most widely used</p>\n<p>2. Same readings in both (dry and wet) bulbs indicate 100 per cent <span class=\"customMeta\" data-dictid=\"e4696a0f8d169277719865588e55c7\">saturation</span> with moisture</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2O5DkBzEknW8gX8I5NCO1742156344.mp3", "video": ""}, {"text": "Which of the following is true about global warming?", "options": [{"label": "A", "text": "It is primarily caused by increased solar radiation.", "correct": false}, {"label": "B", "text": "Paris Agreement aimed to reduce greenhouse gas emissions in developed countries", "correct": false}, {"label": "C", "text": "Kyoto Protocol called for a 50% reduction in greenhouse emissions.", "correct": false}, {"label": "D", "text": "Water vapour is one of the important greenhouse gases.", "correct": true}], "correct_answer": "D. Water vapour is one of the important greenhouse gases.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/WAqGZVVx1ldgQJgntASb1742817151.mp3", "video": ""}, {"text": "Match the loudness of noise in decibels (dB) with their corresponding situation. 1. 60 dB a. Threshold of hearing damage 2. 85 dB b. Rupture of tympanic membrane 3. 160 dB c. Permanent deafness 4. 100 dB d. Normal conversation", "options": [{"label": "A", "text": "1:d , 2:a, 3:b , 4:c", "correct": true}, {"label": "B", "text": "1:b , 2:d, 3:a , 4:c", "correct": false}, {"label": "C", "text": "1:d , 2:a, 3:c , 4:b", "correct": false}, {"label": "D", "text": "1:a , 2:d, 3:b , 4:c", "correct": false}], "correct_answer": "A. 1:d , 2:a, 3:b , 4:c", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:451px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Situation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Loudness (dB)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Whispering</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20 to 30 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. Quiet library</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. <strong>Normal conversatio</strong>n</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>60 to 65 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. Heavy street traffic</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>60 to 80 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4. Tolerable daily exposure/ <strong>threshold to noise without hearing damage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>85 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5. <span class=\"customMeta\" data-dictid=\"f17057f75016927771829e70074368\">Auditory</span> fatigue</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>90 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6. <strong>Permanent <span class=\"customMeta\" data-dictid=\"696dd98be71692777185b10993da3e\">deafness</span> </strong>(repeated or continuous exposure to noise)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Around 100 dB</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7. Boiler factories</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>120 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>8. Noise threshold for pain</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>140 dB.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>9. Jet take-off</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>150 dB</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10<strong>. <span class=\"customMeta\" data-dictid=\"e73553a3a5169277719787fd5f4680\">Rupture</span> of <span class=\"customMeta\" data-dictid=\"391176370016927772011d1b8315bc\">tympanic</span> membran</strong>e</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Above 160 dB.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ckopteESlxZd0S7oKEeV1742817466.mp3", "video": ""}, {"text": "Which of the following is considered a type of mechanical ventilation?", "options": [{"label": "A", "text": "Plenum", "correct": true}, {"label": "B", "text": "Perflation", "correct": false}, {"label": "C", "text": "Diffusion", "correct": false}, {"label": "D", "text": "Temperature inequality", "correct": false}], "correct_answer": "A. Plenum", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td colspan=\"2\">\n<p style=\"text-align: center;\"><strong>Types of Ventilation</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Natural (Option B, C and D)</strong></p>\n</td>\n<td>\n<p><strong>Mechanical (Option A )</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>1. Wind:</p>\n<ul>\n<li><strong>Perflation</strong>: wind blows through a room</li>\n<li><strong>Aspiration</strong>: wind bypasses and exerts a suction</li>\n<li><strong>Cross-ventilation.</strong></li>\n</ul>\n<p>2. <strong>Diffusion</strong>: Air passes through small openings</p>\n<p>3. <strong>Temperature Inequality</strong>: Air movement from high to low density due to temperature difference.</p>\n</td>\n<td>\n<p>1. <strong>Exhaust</strong>: air is extracted outside by exhaust fans</p>\n<p>2. <strong>Plenum</strong>: fresh air blown inside by <span class=\"customMeta\" data-dictid=\"7dea74a46f169277718475753bbe58\">centrifugal</span> fans</p>\n<p>3. <strong>Balanced</strong>: Combination of exhaust and plenum</p>\n<p>4. Air conditioning: control of all air factors affecting physical and chemical conditions of the atmosphere</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/r48gjbUhDja31cbBTOWf1742817275.mp3", "video": ""}, {"text": "Which of the following is a primary use of this instrument?", "options": [{"label": "A", "text": "Measuring octave band frequencies.", "correct": false}, {"label": "B", "text": "Measuring occupational noise exposure over a period of time", "correct": true}, {"label": "C", "text": "Measuring the intensity of sound in dB", "correct": false}, {"label": "D", "text": "Evaluation of hearing ability", "correct": false}], "correct_answer": "B. Measuring occupational noise exposure over a period of time", "question_images": ["https://image.prepladder.com/content/M7yu45PAxs5pGz509tWU1719918385.png"], "explanation_images": ["https://image.prepladder.com/content/HeuUQJ9fDeo1UOHZGaSw1719918396.png", "https://image.prepladder.com/content/fGrY6OP43OVbMKWOxtue1719918405.png", "https://image.prepladder.com/content/c649LQ9EZKLJbLrFr9AM1719918411.png", "https://image.prepladder.com/content/prAAZS5FHEmqA6TTQeaF1719918419.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:630px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Instrument </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Uses</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Noise <span class=\"customMeta\" data-dictid=\"d4c9ebef3916927771868e2acbcfd1\">dosimeter</span> (OPTION B)<img alt=\"\" data-author=\"Chuck Kardous (NIOSH)\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Noise_dosimeter#/media/File:Noise_Dosimeters_01.jpg\" data-tags=\"\" height=\"242\" src=\"https://image.prepladder.com/content/HeuUQJ9fDeo1UOHZGaSw1719918396.png\" width=\"286\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Sound level meter.</li>\n<li>To measure noise exposure of a person over a period of time</li>\n<li>Eg: Occupational exposure</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. <span class=\"customMeta\" data-dictid=\"602dab225416927771827afbf1f802\">Audiometer</span> (OPTION D)</p>\n<figure class=\"caption_element\"><img alt=\"\" data-author=\"Infamousradge,\" data-hash=\"\" data-license=\"CC BY-SA 4.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Audiomini_.png\" data-tags=\"\" height=\"139\" src=\"https://image.prepladder.com/content/fGrY6OP43OVbMKWOxtue1719918405.png\" width=\"222\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Used for evaluation of hearing ability</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. Hand-held <span class=\"customMeta\" data-dictid=\"b329d5e14316927771921aadf70228\">microphone</span> (OPTION C)<img alt=\"\" data-author=\"Evan-Amos\" data-hash=\"\" data-license=\"NA\" data-source=\"https://en.wikipedia.org/wiki/Tape_recorder#/media/File:RadioShack-ctr-119.jpg\" data-tags=\"\" height=\"178\" src=\"https://image.prepladder.com/content/c649LQ9EZKLJbLrFr9AM1719918411.png\" width=\"243\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>To measure the intensity of sound in dB</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4. Octave band analyser (OPTION A)<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"268\" src=\"https://image.prepladder.com/content/prAAZS5FHEmqA6TTQeaF1719918419.png\" width=\"242\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>To measure sound in octave bands</li>\n<li>Reflects sound spectrum ranging from low-pitched to high-pitched frequencies.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TqvxBLXEpB3TfcXCpEbV1742817354.mp3", "video": ""}, {"text": "Which of the following units is used to measure the luminous intensity of a light source?", "options": [{"label": "A", "text": "Lumen", "correct": false}, {"label": "B", "text": "Lux", "correct": false}, {"label": "C", "text": "Candela", "correct": true}, {"label": "D", "text": "Lambert", "correct": false}], "correct_answer": "C. Candela", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>PARAMETER</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>DESCRIPTION</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>UNIT OF MEASUREMENT</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Luminous intensity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Brightness of a light source</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Candela</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Luminous flux</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Light flow</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lumen (option A)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Illumination/illuminance</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measure of light reaching a surface</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lux (option B)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Brightness/luminance</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measure of light <span class=\"customMeta\" data-dictid=\"014b1a7b931692777197f57251720d\">reflected</span> from a surface</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lambert (option D)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Daylight measure</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Intensity of daylight illumination</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Daylight factor</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ma5PVasy4gcNEP2K4AvJ1742817604.mp3", "video": ""}, {"text": "Identify the correct statements regarding ideal housing standards. Built-up area of houses should not exceed 2/3rd in urban areas Roof of a house should be at least 10 meters in height Window area should be at least 1/5th of the floor area Cattle sheds should be at least 25 feet from the housing area Door and window should be at least 2/5th of the floor area", "options": [{"label": "A", "text": "1,2 and 5", "correct": false}, {"label": "B", "text": "2,4 and 5", "correct": false}, {"label": "C", "text": "1,3,4 and 5", "correct": true}, {"label": "D", "text": "1,2 and 3", "correct": false}], "correct_answer": "C. 1,3,4 and 5", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/aKQPBn41L12tlCUHXv3M1748207646.mp3", "video": ""}, {"text": "Which of the following is not considered overcrowding?", "options": [{"label": "A", "text": "6 persons living in 3 rooms", "correct": false}, {"label": "B", "text": "1 person living in a floor space of 65 sq.ft.", "correct": false}, {"label": "C", "text": "2 persons aged 7 of opposite gender in the same room", "correct": true}, {"label": "D", "text": "A child aged 8 years living in a floor space of 45 sq.ft.", "correct": false}], "correct_answer": "C. 2 persons aged 7 of opposite gender in the same room", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Persons Per Room</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Floor Space (1 sq.m. = 10 sq.ft.)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>1 room - 2 persons</li>\n<li>2 rooms - 3 persons</li>\n<li>3 rooms - 5 persons <strong>(option A)</strong></li>\n<li>4 rooms - 7 persons</li>\n<li>5 or more rooms - 10 persons (2 per each room)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Not recommended: <50 sq.ft.</li>\n<li>½ person : 50-70 sq. ft. <strong>(option D)</strong></li>\n<li>1 person: 70-90 sq. ft. <strong>(option B)</strong></li>\n<li>1 ½ persons: 90-100 sq. ft.</li>\n<li>2 persons : >110 sq. ft.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/H65Isx7UKgkX7BYR2Ckl1742817918.mp3", "video": ""}, {"text": "A 31-year-old male who wants to set up a radio diagnostic centre consults you regarding the possible health hazards his radio technicians might face. What is the ideal thickness of lead aprons you advise him to provide his employees that should prevent the employees from radiation hazards?", "options": [{"label": "A", "text": "0.26 mm", "correct": false}, {"label": "B", "text": "0.34 mm", "correct": false}, {"label": "C", "text": "0.4 mm", "correct": false}, {"label": "D", "text": "0.5 mm", "correct": true}], "correct_answer": "D. 0.5 mm", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>RADIATION DOSE</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>BIOLOGICAL EFFECTS</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><5 rad</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>No adverse effects</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> \n\t\t\t<p>5-150 rad</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Nausea, vomiting</li>\n<li>Mild haematological changes</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> \n\t\t\t<p>150-1100 rad</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Bone <span class=\"customMeta\" data-dictid=\"c8a8c935a41692777191610f6aacb4\">marrow</span> failure</strong> (anaemia, infections, <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> tendency - might require <span class=\"customMeta\" data-dictid=\"5b9831f3aa169277718395d7361df6\">bone marrow</span> transplantation), death occur in years.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> \n\t\t\t<p>1100-2000 rad</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Gastrointestinal destruction</strong> in addition (death almost always occurs in a few weeks)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>>2000 rad</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Muscle and brain damage</strong> (death occurs in days)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/OYEzFp3Ue2R92qHXW3D51742818077.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 26 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following diseases can be spread by the mosquito, as shown in the image below?", "options": [{"label": "A", "text": "Filariasis", "correct": true}, {"label": "B", "text": "Malaria", "correct": false}, {"label": "C", "text": "Chickungunya", "correct": false}, {"label": "D", "text": "Yellow fever", "correct": false}], "correct_answer": "A. Filariasis", "question_images": ["https://image.prepladder.com/notes/RmHmaqKj0mV2T7kbswZ11732722021.png"], "explanation_images": ["https://image.prepladder.com/notes/Fbi6RAbRb2kkgjNUYVAX1732722364.png", "https://image.prepladder.com/notes/a9nVyi4gmPEMSccia7GQ1732722416.png", "https://image.prepladder.com/notes/bZDPiDuZJK720CS3Hbet1732722227.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ANOPHELES</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CULEX</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>AEDES</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MANSONOIDES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rest: angled <span class=\"customMeta\" data-dictid=\"ff903efe48169277719050548575e6\">inclination</span> to surface</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rest: <span class=\"customMeta\" data-dictid=\"b6f0b18c321692777189e5ba745828\">Hunchback</span> position</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rest: <span class=\"customMeta\" data-dictid=\"b6f0b18c321692777189e5ba745828\">hunchback</span> position</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rest: <span class=\"customMeta\" data-dictid=\"50bf7d28eb1692777199ceb59e36cb\">squatting</span> position</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Wings spotted</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No white stripes</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>White stripes all over the body</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>White spots on legs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Both sexes: long palpi</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Short palpi in females</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Japanese</p>\n<p>encephalitis,</p>\n<p>Filariasis, West</p>\n<p>Nile fever</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dengue,</p>\n<p>Chikungunya, Rift</p>\n<p>valley fever, Zika</p>\n<p>virus, Yellow fever</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Brugian filariasis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Flight range - 10 kms.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Flight range - 100-200 mts</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><strong>Culex</strong></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><strong>Anopheles</strong></td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"Female <span class=\" custommeta\"=\"\" data-dictid=\"8821feceff1692777185b2fc88c7dd\"/>culex \" data-author=\"US Centers for Disease Control - City of Jacksonville, FL\" data-hash=\"247\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Culex#/media/File:CPipFm.jpg\" data-tags=\"November2024\" src=\"https://image.prepladder.com/notes/RmHmaqKj0mV2T7kbswZ11732722021.png\" /></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"Anopheles\" data-author=\"Photo Credit: James Gathany Content Providers(s): CDC\" data-hash=\"249\" data-license=\"Open access\" data-source=\"https://commons.wikimedia.org/wiki/File:Anopheles_albimanus_mosquito.jpg\" data-tags=\"November2024\" src=\"https://image.prepladder.com/notes/Fbi6RAbRb2kkgjNUYVAX1732722364.png\"/></td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><strong>Mansonia</strong></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><strong>Aedes</strong></td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"Mansonia\" data-author=\"Ajamma, Yvonne & Villinger, Jandouwe & Omondi, David & Salifu, Daisy & Onchuru, Thomas & Njoroge, Laban & Muigai, Anne & Masiga, Daniel.\" data-hash=\"250\" data-license=\"CC BY 4.0\" data-source=\"https://www.researchgate.net/figure/Photographs-of-the-dorsal-view-of-mosquito-species-representing-the-seven-genera_fig5_305258780\" data-tags=\"November2024\" height=\"453\" src=\"https://image.prepladder.com/notes/a9nVyi4gmPEMSccia7GQ1732722416.png\" width=\"395\"/></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"Aedes Mosquito\" data-author=\"James Gathany, CDC\" data-hash=\"248\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Aedes_albopictus#/media/File:CDC-Gathany-Aedes-albopictus-1.jpg\" data-tags=\"November2024\" src=\"https://image.prepladder.com/notes/bZDPiDuZJK720CS3Hbet1732722227.png\"/></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ck8sEIAa9cZJEcSa6HSX1742153702.mp3", "video": ""}, {"text": "Identify the genus of the mosquito, the eggs of which are collected from the water source of a street and subjected to microscopic examination as given in the image below.", "options": [{"label": "A", "text": "Aedes", "correct": false}, {"label": "B", "text": "Anopheles", "correct": true}, {"label": "C", "text": "Culex", "correct": false}, {"label": "D", "text": "Mansonoides", "correct": false}], "correct_answer": "B. Anopheles", "question_images": ["https://image.prepladder.com/notes/0QkMqmmWPeNPsIOCnli41732722651.png"], "explanation_images": ["https://image.prepladder.com/notes/0QkMqmmWPeNPsIOCnli41732722651.png", "https://image.prepladder.com/notes/szdkuy1YIKTAQLWcWOI81732722876.png", "https://image.prepladder.com/notes/3K6LcgxBM1SxNbSyU0V71732723211.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:765px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ANOPHELES</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CULEX</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>AEDES</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MANSONOIDES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>EGGS</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lays singly</li>\n<li><strong>Boat shaped</strong></li>\n<li><strong>Lateral floats</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lays in clusters (100-250 in a single cluster)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lays singly</li>\n<li><strong>Cigar shaped</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lays in clusters</li>\n<li><strong>Star-shaped</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>LARVAE</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>No <span class=\"customMeta\" data-dictid=\"9d59eae3ce16927771982e99e0035f\">siphon</span> tube</strong></li>\n<li>Rests <span class=\"customMeta\" data-dictid=\"635a7ea50e16927771944f08f17aed\">parallel</span> to water surface</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Longer <span class=\"customMeta\" data-dictid=\"9d59eae3ce16927771982e99e0035f\">siphon</span> tubes</li>\n<li>Rests at an angle to water surface</li>\n</ul>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Shorter <span class=\"customMeta\" data-dictid=\"9d59eae3ce16927771982e99e0035f\">siphon</span> tubes</li>\n<li>Rests at an angle to water surface</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HABITAT</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Exophilic: outside house</p>\n<p>Clean <span class=\"customMeta\" data-dictid=\"00e90b2b491692777199a0547a1945\">stagnant</span> water</p>\n<p>Anopheles known as a sophisticated mosquito</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Exophilic: day</p>\n<p>Endophilic: night</p>\n<p>Dirty polluted water (ponds)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Endophilic: inside house</p>\n<p>Artificial Collected water</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Exophilic- <span class=\"customMeta\" data-dictid=\"8528247299169277718135f5551cf6\">Aquatic</span> <span class=\"customMeta\" data-dictid=\"a55b16a09b169277720184a41c82c4\">vegetation</span> (Pistia plants)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/sK2eYG1VMIpSjAe1ALKD1742153818.mp3", "video": ""}, {"text": "A 45-year-old male from Bihar, India, presents with a 3-month history of intermittent fever, significant weight loss, and enlargement of the spleen and liver. Physical examination reveals darkening of his skin on the face and extremities. He was bitten by the organism given in the image below. What is the disease and the organism?", "options": [{"label": "A", "text": "Visceral leishmaniasis - sandfly", "correct": true}, {"label": "B", "text": "Trypanosomiasis - Tsetse fly", "correct": false}, {"label": "C", "text": "Dengue fever-Aedes mosquito", "correct": false}, {"label": "D", "text": "Lyme disease - Ixodes tick", "correct": false}], "correct_answer": "A. Visceral leishmaniasis - sandfly", "question_images": ["https://image.prepladder.com/content/a9sCuEoJ4TjfzewyQbp61747862198.png"], "explanation_images": ["https://image.prepladder.com/notes/sROwZAopQ7OggX4o4Bka1732723518.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:592px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Visceral <span class=\"customMeta\" data-dictid=\"f60a0a7ad716927771916ed83e3586\">Leishmaniasis</span> (VL or Kala-azar)By L. donovani</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Irregular bouts of fever, splenomegaly, hepatomegaly, anaemia, and weight loss.</li>\n<li>Family history is common</li>\n<li>Darkening of skin on the face, hands, feet, and abdomen.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cutaneous Leishmaniasis</strong></p>\n<p><strong>Cutaneous <span class=\"customMeta\" data-dictid=\"f60a0a7ad716927771916ed83e3586\">leishmaniasis</span> aka Oriental <span class=\"customMeta\" data-dictid=\"0d8cd9c1b516927771981287d4850f\">sore</span> caused By L.tropica</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Results in skin lesions, mainly ulcers, on exposed body parts.</li>\n<li>Leaves lifelong scars</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mucocutaneous Leishmaniasis</strong></p>\n<p><strong>By L.braziliensis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Destroys <span class=\"customMeta\" data-dictid=\"26080f047a169277719334625cadef\">mucous</span> membranes of the nose, mouth, and throat.</li>\n<li>It can cause severe <span class=\"customMeta\" data-dictid=\"9fdd7489051692777202cffe3f24cc\">facial</span> disfigurement and social stigma.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7I5tNUTNOmpO0Oc1CwTX1742154033.mp3", "video": ""}, {"text": "Given below is the image of a parasite. From the options pick a disease that is not transmitted by it.", "options": [{"label": "A", "text": "Epidemic typhus", "correct": false}, {"label": "B", "text": "Relapsing fever", "correct": false}, {"label": "C", "text": "Trench fever", "correct": false}, {"label": "D", "text": "Oriental sore", "correct": true}], "correct_answer": "D. Oriental sore", "question_images": ["https://image.prepladder.com/notes/XdzxFOI3MWFqYVbIUvqi1732723950.png"], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Types of Lice</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Head <span class=\"customMeta\" data-dictid=\"5dacacc82916927771910cd3388165\">louse</span> (Pediculus capitis)</li>\n<li>Body <span class=\"customMeta\" data-dictid=\"5dacacc82916927771910cd3388165\">louse</span> (Pediculus corporis)</li>\n<li>Pubic or <span class=\"customMeta\" data-dictid=\"a3792999e71692777185880d431114\">crab</span> <span class=\"customMeta\" data-dictid=\"5dacacc82916927771910cd3388165\">louse</span> (Phthirus pubis)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Direct contact with infested persons.</li>\n<li>Indirect contact through clothing, bedding, combs, or brushes.</li>\n<li>Lice can be blown by wind from heavily infested individuals.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diseases Transmitted</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Epidemic <span class=\"customMeta\" data-dictid=\"2b3121f9de1692777201f8f08c152e\">typhus</span> (caused by <span class=\"customMeta\" data-dictid=\"d39294c67d16927771970f0119c9d1\">Rickettsia</span> prowazekii)</li>\n<li>Epidemic <span class=\"customMeta\" data-dictid=\"adcb58dd951692777197332b13ebe2\">relapsing</span> fever (caused by <span class=\"customMeta\" data-dictid=\"98a7f904e316927771832dc4234430\">Borrelia</span> recurrentis)</li>\n<li>Trench fever (caused by <span class=\"customMeta\" data-dictid=\"d39294c67d16927771970f0119c9d1\">Rickettsia</span> quintana)</li>\n<li>Dermatitis due to scratching and secondary infection.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Control Measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Malathion</li>\n<li>Personal hygiene</li>\n<li>Mass delousing</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2t9aZX5Y7BleUsceavA71742154193.mp3", "video": ""}, {"text": "What does this insect transmit?", "options": [{"label": "A", "text": "Epidemic relapsing fever", "correct": false}, {"label": "B", "text": "Trench fever", "correct": false}, {"label": "C", "text": "Epidemic typhus", "correct": false}, {"label": "D", "text": "Endemic typhus", "correct": true}], "correct_answer": "D. Endemic typhus", "question_images": ["https://image.prepladder.com/notes/DCwWibeMKEgJFRn35IvW1732724824.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Morphology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Small bilaterally compressed, wingless insects covered with backwardly directed bristles.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diseases transmitted</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Plague (bubonic)</strong></li>\n<li><strong>Endemic or <span class=\"customMeta\" data-dictid=\"9d3ebf5530169277719393eb47fdcb\">murine</span> typhus</strong></li>\n<li><strong>Chiggerosis</strong></li>\n<li><strong>Hymenolepis diminuta</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Importance in Public Health</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rat fleas are significant vectors of <span class=\"customMeta\" data-dictid=\"8ed8a7d3381692777195ca51ab7b1f\">plague</span> and typhus.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Control measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>DDT, gamma-HCH, dieldrin, carbaryl, diazinon, or malathion</li>\n<li>Diethyltoluamide (DEET) and <span class=\"customMeta\" data-dictid=\"670fd69d0f1692777182f40b22be72\">benzyl</span> benzoate</li>\n<li>Rodent control</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/R6oRpoV0zg8C7p41dpqv1742154375.mp3", "video": ""}, {"text": "Which of the following statements is true about the parasite shown in the image", "options": [{"label": "A", "text": "Ornithodorus moubata is an important species of this parasite", "correct": false}, {"label": "B", "text": "Transmits relapsing fever", "correct": false}, {"label": "C", "text": "Has 5 years of nymphal stage", "correct": false}, {"label": "D", "text": "Cannot stand starvation", "correct": true}], "correct_answer": "D. Cannot stand starvation", "question_images": ["https://image.prepladder.com/notes/e2E4fVmVQdsTEMoHh1RK1732766085.png"], "explanation_images": ["https://image.prepladder.com/notes/e2E4fVmVQdsTEMoHh1RK1732766085.png", "https://image.prepladder.com/notes/mrtctr1S9Fw20pJRVqeE1732766223.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:625px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Hard Ticks (Ixodidae)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Soft Ticks (Argasidae)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Scutum</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Covers the entire back in males; only a small portion in front in females</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Absent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Head</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Situated at the <span class=\"customMeta\" data-dictid=\"1ba6a9cfe11692777181950edd7a6d\">anterior</span> end</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lies ventrally; not seen from above</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Habits</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cannot stand starvation; feed night and day</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can stand <span class=\"customMeta\" data-dictid=\"31f866588e1692777199c7b7cd3cc0\">starvation</span> for a year or more</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diseases transmitted</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tick typhus, Viral encephalitis, Haemorrhagic fever, Tularaemia, <span class=\"customMeta\" data-dictid=\"63b7807cc41692777200fab227369f\">Tick</span> paralysis, Human babesiosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Relapsing fever</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Important species</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dermacentor andersoni Haemophysalis spinigera</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ornithodorus moubata</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Image</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"Hard Tick\" data-author=\"L. Shyamal\" data-hash=\"259\" data-license=\"CC BY-SA 3.0\" data-source=\"https://en.wikipedia.org/wiki/Ixodidae#/media/File:Ixodid_wynaad.jpg\" data-tags=\"November2024\" src=\"https://image.prepladder.com/notes/e2E4fVmVQdsTEMoHh1RK1732766085.png\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"Soft Tick\" data-author=\"Alan R Walker\" data-hash=\"260\" data-license=\"CC BY-SA 3.0\" data-source=\"https://en.wikipedia.org/wiki/Ornithodoros_savignyi#/media/File:Ornithodoros-savignyi.jpg\" data-tags=\"November2024\" src=\"https://image.prepladder.com/notes/mrtctr1S9Fw20pJRVqeE1732766223.png\"/></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/nMArZXzGITrYEqF4jrZQ1742154513.mp3", "video": ""}, {"text": "A 35-year-old hiker presents with sudden onset fever, severe headache, and a macular rash that appeared around the 5th day of illness. On examination, there is generalised lymphadenopathy and an eschar on his abdomen. What is the most likely diagnosis?", "options": [{"label": "A", "text": "Epidemic typhus", "correct": false}, {"label": "B", "text": "Scrub typhus", "correct": true}, {"label": "C", "text": "Relapsing fever", "correct": false}, {"label": "D", "text": "Dengue fever", "correct": false}], "correct_answer": "B. Scrub typhus", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/gWAN8OFNDFscNUVgRqMF1728573416.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Causative bacteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Orienta (Rickettsia) tsutsugamushi</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Trombiculid mite</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Clinical Features:</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Acute onset with high fever (104°-105°F), chills, severe headache, malaise, and prostration.</li>\n<li>A <span class=\"customMeta\" data-dictid=\"ebad8eb48c1692777191b5de5d04a1\">macular</span> <span class=\"customMeta\" data-dictid=\"dc75edd604169277719735ac5b4d5b\">rash</span> appears around the 5th day of illness.</li>\n<li>Generalised <span class=\"customMeta\" data-dictid=\"344bcb4e391692777191307c1e0074\">lymphadenopathy</span> and <span class=\"customMeta\" data-dictid=\"d3a521c75816927771913d4e993e2d\">lymphocytosis</span> are common.</li>\n<li>The presence of an <span class=\"customMeta\" data-dictid=\"6b73f3afaa1692777187f2899b6934\">eschar</span> (punched-out <span class=\"customMeta\" data-dictid=\"7b4370a0b01692777201a5bc0739c2\">ulcer</span> with a blackened scab) at the site of the <span class=\"customMeta\" data-dictid=\"b7fceea4781692777192e02222d4e1\">mite</span> bite is characteristic.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnostic Test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weil-Felix reaction (Heterophile antigen-antibody reaction)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Treatment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tetracycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prophylaxis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Impregnating clothes and blankets with <span class=\"customMeta\" data-dictid=\"5b054dd39c16927771921e1a70c9fb\">miticidal</span> chemicals (e.g., <span class=\"customMeta\" data-dictid=\"670fd69d0f1692777182f40b22be72\">benzyl</span> benzoate) and <span class=\"customMeta\" data-dictid=\"b7fceea4781692777192e02222d4e1\">mite</span> repellents (e.g., diethyltoluamide) on exposed skin surfaces.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mqBEsXwvsf4knlefhqg11742155130.mp3", "video": ""}, {"text": "A 30-year-old woman presents with severe itching, particularly worse at night, and skin lesions on her hands and wrists. On examination, there are follicular lesions and evidence of secondary infection with crusted papules and pustules. She reports that her husband and children also have similar symptoms. Which of the following is used exclusively as a preventive measure against this disease?", "options": [{"label": "A", "text": "Use of chlordane", "correct": true}, {"label": "B", "text": "Applying benzyl benzoate", "correct": false}, {"label": "C", "text": "Using gamma-HCH (lindane) on the skin", "correct": false}, {"label": "D", "text": "Administering tetmosol solution daily", "correct": false}], "correct_answer": "A. Use of chlordane", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Gb9wP22K7Ivrn5cPtpvS1728573218.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Causative Agent </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sarcoptes scabiei</strong>, an <span class=\"customMeta\" data-dictid=\"29aeb05b801692777182f7407066be\">arthropod</span> known as the <span class=\"customMeta\" data-dictid=\"9b68c70cd9169277719056d73b3171\">itch</span> mite.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transmission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Close contact with an infected person or contaminated clothing and bedding.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Clinical Features </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Severe itching, especially at night.</li>\n<li>Follicular lesions, crusted papules, and pustules.</li>\n<li>It commonly affects hands, wrists, elbows, axillae, buttocks, lower abdomen, feet, and genitals.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Itching worse at night is a key symptom.</li>\n<li>Examination reveals characteristic lesions.</li>\n<li>Confirmation by identifying mites or eggs in skin scrapings.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Treatment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Benzyl Benzoate- Applied thoroughly to the entire body below the chin, including the soles of feet, and repeated after 12 hours.</li>\n<li>Gamma-HCH (Lindane)</li>\n<li>Tetmosol</li>\n<li>Sulfur Ointment</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Preventive Measures </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Insecticidal Control\n\t\t\t\t<ul>\n<li>Effective insecticides: DDT, chlordane, dieldrin, lindane, malathion, toxaphene.</li>\n</ul>\n</li>\n<li>Environmental Control\n\t\t\t\t<ul>\n<li>Fill cracks and crevices near buildings and paths. Reduce wild rodents and dogs.</li>\n</ul>\n</li>\n<li>Protection of Workers\n\t\t\t\t<ul>\n<li>Wear protective clothing with insect repellents (indalone, diethyltoluamide, <span class=\"customMeta\" data-dictid=\"670fd69d0f1692777182f40b22be72\">benzyl</span> benzoate).</li>\n<li>Regularly check for and remove ticks during breaks, and after work, remove ticks by painting them with petrol or <span class=\"customMeta\" data-dictid=\"b042c3602516927771944114b65343\">paraffin</span> and brushing them off.</li>\n<li>If necessary, <span class=\"customMeta\" data-dictid=\"387ff6837a16927771876363756d5a\">extract</span> with forceps, avoiding breaking mouthparts.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3UedOkRDcdGWEK16sE7f1742155581.mp3", "video": ""}, {"text": "The image of a fly is given below. Which disease does it transmit?", "options": [{"label": "A", "text": "Q fever", "correct": false}, {"label": "B", "text": "Relapsing fever", "correct": false}, {"label": "C", "text": "Sleeping sickness", "correct": true}, {"label": "D", "text": "Lyme disease", "correct": false}], "correct_answer": "C. Sleeping sickness", "question_images": ["https://image.prepladder.com/notes/yZXzUu4HubKBaTP2ZL4o1732767001.png"], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Synonym</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Glossina</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Location</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>African continent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Morphology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Resembles houseflies</p>\n<p>Yellow/dark brown</p>\n<p>Half an <span class=\"customMeta\" data-dictid=\"621a512874169277719019f84a2e46\">inch</span> long</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Health impact</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vectors for trypanosomiasis, causing \"sleeping sickness”</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Control measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. <span class=\"customMeta\" data-dictid=\"a902f8bd2b1692777185a9ae57dcf0\">DDT</span> and dieldrin</p>\n<p>2. Removing <span class=\"customMeta\" data-dictid=\"a55b16a09b169277720184a41c82c4\">vegetation</span> where <span class=\"customMeta\" data-dictid=\"405d79fd82169277720017a468f2c9\">tsetse</span> flies breed</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5yQNTBpf612GSje3LPHl1746563672.mp3", "video": ""}, {"text": "A 37-year-old man is complaining of heart palpitations, nausea, and facial flushing after being bitten by the insect shown in the image. What is the diagnosis?", "options": [{"label": "A", "text": "Chagas disease", "correct": true}, {"label": "B", "text": "Scrub typhus", "correct": false}, {"label": "C", "text": "Tularaemia", "correct": false}, {"label": "D", "text": "Sleeping sickness", "correct": false}], "correct_answer": "A. Chagas disease", "question_images": ["https://image.prepladder.com/notes/lilXgxpeNzHTpewKV4NR1732767173.png"], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Synonyms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cone-nose bugs</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Location</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Mexico, Central America, and South America</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Morphology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>An <span class=\"customMeta\" data-dictid=\"621a512874169277719019f84a2e46\">inch</span> or more in length</li>\n<li>Adults have wings</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Feeding </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Exclusively on the blood</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Habitat</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cracks, fissures, and other hiding places in walls, ceilings, and animal habitations</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Health impact</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Transmit Trypanosoma cruzi [a protozoa], the <span class=\"customMeta\" data-dictid=\"f616aee08b169277718361438e1a91\">causative</span> agent of Chagas' disease, causes intense itching, nausea, flushed face, and palpitations of the heart.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Control measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Insecticides like HCH or dieldrin</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/hlu6ZYHG1VisJA5GYfr21742154926.mp3", "video": ""}, {"text": "Mr. Smith, a 50-year-old farmer from rural Africa, presents with severe itching and a \"leopard skin\" appearance on his legs. He complains of worsening vision with photophobia and conjunctivitis. Examination reveals papular dermatitis, skin depigmentation, and early signs of corneal scarring. He gives a history of being bitten by a fly given in the image below. What is the diagnosis?", "options": [{"label": "A", "text": "Onchocerciasis", "correct": true}, {"label": "B", "text": "Trench fever", "correct": false}, {"label": "C", "text": "Loiasis", "correct": false}, {"label": "D", "text": "Scrub typhus", "correct": false}], "correct_answer": "A. Onchocerciasis", "question_images": ["https://image.prepladder.com/notes/44KI8vpbQlOruqTdvqQA1732767349.png"], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Synonyms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Simuliidae.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Morphology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Small with short legs and <span class=\"customMeta\" data-dictid=\"8e29cc842c1692777196d2a7e38fb2\">proboscis</span> and large, broad wings</p>\n<p>Black in colour.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Health impact</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bloodsucking and causes river <span class=\"customMeta\" data-dictid=\"cf284485b71692777183c57876bed2\">blindness</span> (onchocerciasis).</p>\n<p>In contrast - <span class=\"customMeta\" data-dictid=\"c91d12426d1692777191f0807bdcc2\">loiasis</span> doesn't cause vision loss , it is present in <span class=\"customMeta\" data-dictid=\"335f16a33c16927771992f5c55bc4d\">subconjunctival</span> tissues. <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Control measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Abate</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/pGUNUwriFPvxKZEuYEE31742154772.mp3", "video": ""}, {"text": "All of the following are transmitted by houseflies except?", "options": [{"label": "A", "text": "Tularaemia", "correct": true}, {"label": "B", "text": "Yaws", "correct": false}, {"label": "C", "text": "Trachoma", "correct": false}, {"label": "D", "text": "Anthrax", "correct": false}], "correct_answer": "A. Tularaemia", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/T5LLCiCIegScJN65pzfN1742154610.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 22 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A student went on a trip to Jaisalmer, where the temp was 40 degrees, and relative humidity was 20%. What will the mechanism of heat loss be?", "options": [{"label": "A", "text": "Evaporation", "correct": true}, {"label": "B", "text": "Radiation", "correct": false}, {"label": "C", "text": "Conduction with air", "correct": false}, {"label": "D", "text": "Conduction with objects", "correct": false}], "correct_answer": "A. Evaporation", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Effectiveness in a Hot, Dry Climate</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Evaporation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Heat loss through sweat evaporation</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Most effective</strong> (low <span class=\"customMeta\" data-dictid=\"941f005c7d1692777189872035c678\">humidity</span> allows efficient sweat evaporation)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Radiation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Emission of <span class=\"customMeta\" data-dictid=\"82df9c600116927771907b7977a3b4\">infrared</span> heat waves to cooler surroundings</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Less effective</strong> (ambient temp is high, reducing heat gradient)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Conduction</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Direct heat transfer through contact with a cooler object</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Minimal</strong> (air and objects in the desert are also hot)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Convection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Heat transfer via air movement</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Limited</strong> (unless there is strong wind aiding heat dissipation)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Mode of disposal of sewage ground water:", "options": [{"label": "A", "text": "Activated sludge process", "correct": false}, {"label": "B", "text": "Grit chamber", "correct": false}, {"label": "C", "text": "Oxidation pond", "correct": false}, {"label": "D", "text": "All of the above", "correct": true}], "correct_answer": "D. All of the above", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/gwC8UeET2Dxpjfg1lG2q1748156592.png"], "explanation": "<p>Correct Option D) All of the abov\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the required thickness of a lead apron used for radiation protection?", "options": [{"label": "A", "text": "1mm", "correct": false}, {"label": "B", "text": "2mm", "correct": false}, {"label": "C", "text": "0.5mm", "correct": true}, {"label": "D", "text": "1.5 mm", "correct": false}], "correct_answer": "C. 0.5mm", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>RADIATION DOSE</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>BIOLOGICAL EFFECTS</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><5 rad</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>No adverse effects</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p> </p>\n<p>5-150 rad</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Nausea, vomiting</li>\n<li>Mild haematological changes</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p> </p>\n<p>150-1100 rad</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Bone <span class=\"customMeta\" data-dictid=\"c8a8c935a41692777191610f6aacb4\">marrow</span> failure</strong> (anaemia, infections, <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> tendency - might require <span class=\"customMeta\" data-dictid=\"5b9831f3aa169277718395d7361df6\">bone marrow</span> transplantation)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p> </p>\n<p>1100-2000 rad</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Gastrointestinal destruction</strong> in addition (death almost always occurs in a few weeks)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>>2000 rad</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Muscle and brain damage</strong> (death occurs in days)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 45-year-old healthy man with a history of small streaks of blood in his stools is being sent for a colonoscopy to screen for colon cancer. This type of prevention is-", "options": [{"label": "A", "text": "Primordial", "correct": false}, {"label": "B", "text": "Secondary", "correct": true}, {"label": "C", "text": "Primary", "correct": false}, {"label": "D", "text": "Tertiary", "correct": false}], "correct_answer": "B. Secondary", "question_images": [], "explanation_images": [], "explanation": "<table align=\"left\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Levels of prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Definition </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Primordial (Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Prevention of establishment of risk factors.</li>\n<li>It aims to discourage people from adopting harmful habits.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Primary</strong> <strong>(Option C ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Prevention of onset of disease in a high-risk group/individual.</li>\n<li>It aims to protect the health of those who are at risk.</li>\n<li>Reduces the <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> of the disease.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Secondary (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Disease <span class=\"customMeta\" data-dictid=\"3c305b384216927771969ca4166493\">progression</span> can be prevented at an early stage (Disease is reversible).</li>\n<li>It aims to reduce the <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of the disease by early identification and prompt treatment of diseases, and it also prevents complications.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tertiary </strong> <strong>(Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Prevention or limitation of <span class=\"customMeta\" data-dictid=\"4885d5d0021692777189aac6dc80f7\">impairment</span> and disability in a diseased patient who has developed complications due to the disease and the disease has become irreversible.</li>\n<li>It aims to minimise a patient's suffering and maximise potential years of useful life.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What are the most reliable indicators for regular monitoring of air pollution?", "options": [{"label": "A", "text": "Sulfur dioxide, smoke, and suspended particles", "correct": true}, {"label": "B", "text": "Sulfur dioxide, lead, and particulate matter", "correct": false}, {"label": "C", "text": "Sulfur dioxide and carbon monoxide", "correct": false}, {"label": "D", "text": "Carbon monoxide and hydrogen sulfide", "correct": false}], "correct_answer": "A. Sulfur dioxide, smoke, and suspended particles", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the vector that causes the occurrence of buboes in the community?", "options": [{"label": "A", "text": "Xenopsylla cheopis", "correct": true}, {"label": "B", "text": "Phlebotomus argentipes", "correct": false}, {"label": "C", "text": "Ixodes tick", "correct": false}, {"label": "D", "text": "Female Anopheles mosquito", "correct": false}], "correct_answer": "A. Xenopsylla cheopis", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/yKWOc6LldIkjxbi4tJ4r1746437847.png", "https://image.prepladder.com/content/X2xOgDaO4LUZYdwv8RbM1745405940.png", "https://image.prepladder.com/notes/jakwPyFCPSrMCJ3yxg0X1746437974.png", "https://image.prepladder.com/content/wdISTP1xcHlfIYZQngd11745405948.png", "https://image.prepladder.com/content/bOdZXeMXVbOCsah37imQ1745405953.png", "https://image.prepladder.com/content/Oal5fP2RXOBsrPEONJoq1745405959.png", "https://image.prepladder.com/notes/yKWOc6LldIkjxbi4tJ4r1746437847.png", "https://image.prepladder.com/content/Gka9qfNj0b1k4Zt0hp021745405969.png", "https://image.prepladder.com/content/zmPYf9z6KWmbxw6yY2sL1745405973.png", "https://image.prepladder.com/content/SVyWf8iUfuQtm6FRHbPE1745405978.png", "https://image.prepladder.com/notes/UGg97jlMinoXmv4vnmJZ1746438132.png", "https://image.prepladder.com/content/t5NuTxL2SIKUIZolTgCK1745405987.png", "https://image.prepladder.com/notes/EYG2W9wKRj5yy7NFETet1746438248.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:1000px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Disease</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Identification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Habitat</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Female Anopheles <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> (Option D ruled out)</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Photo Credit: James Gathany Content Providers(s): CDC\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://commons.wikimedia.org/wiki/File:Anopheles_albimanus_mosquito.jpg\" data-tags=\"\" height=\"138\" src=\"https://image.prepladder.com/content/X2xOgDaO4LUZYdwv8RbM1745405940.png\" width=\"196\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Slender body, long legs, and dark-colored spots on wings.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Stagnant, clean water sources like ponds, lakes, and rice fields.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Plasmodium species causing malaria.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Dengue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Aedes aegypti</strong> and <strong>Aedes albopictus</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"Aedes Aegypti\" data-author=\"Muhammad Mahdi Karim\" data-hash=\"11863\" data-license=\"GFDL 1.2\" data-source=\"https://commons.wikimedia.org/wiki/File:Aedes_aegypti_feeding.jpg\" data-tags=\"May2025\" height=\"92\" src=\"https://image.prepladder.com/notes/jakwPyFCPSrMCJ3yxg0X1746437974.png\" width=\"156\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p><strong>Aedes aegypti</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>White markings on legs, lyre-shaped pattern on the thorax.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Urban areas, especially around human dwellings and discarded containers.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits <span class=\"customMeta\" data-dictid=\"75dc439beb16927771857bde5104df\">Dengue</span> virus causing <span class=\"customMeta\" data-dictid=\"75dc439beb16927771857bde5104df\">dengue</span> fever.</p>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Chikungunya</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Aedes aegypti</strong> and <strong>Aedes albopictus</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"James Gathany, CDC\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Aedes_albopictus#/media/File:CDC-Gathany-Aedes-albopictus-1.jpg\" data-tags=\"\" height=\"113\" src=\"https://image.prepladder.com/content/wdISTP1xcHlfIYZQngd11745405948.png\" width=\"200\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p><strong>Aedes albopictus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Similar to Aedes mosquitoes, with black and white banded legs.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Urban and suburban areas, especially in domestic settings.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Chikungunya virus, causing joint pain.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Japanese Encephalitis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Culex mosquito</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"US Centers for Disease Control - City of Jacksonville, FL\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Culex#/media/File:CPipFm.jpg\" data-tags=\"\" height=\"154\" src=\"https://image.prepladder.com/content/bOdZXeMXVbOCsah37imQ1745405953.png\" width=\"122\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Smaller, brown or black, with a distinct <span class=\"customMeta\" data-dictid=\"0793729e511692777198412d5d1949\">scutellum</span> (plate-like structure).</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ponds, marshes, and areas with <span class=\"customMeta\" data-dictid=\"00e90b2b491692777199a0547a1945\">stagnant</span> water.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Japanese <span class=\"customMeta\" data-dictid=\"9644652a1f16927771873765457fcc\">encephalitis</span> virus, causing encephalitis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Leishmaniasis (Kala-azar)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Phlebotomus argentipes</strong> (sandfly) <strong>(Option B ruled out)</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"CDC/ Frank Collins\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Phlebotominae#/media/File:Phlebotomus_pappatasi_bloodmeal_continue2.jpg\" data-tags=\"\" height=\"151\" src=\"https://image.prepladder.com/content/Oal5fP2RXOBsrPEONJoq1745405959.png\" width=\"167\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Small, yellowish-brown, with a <span class=\"customMeta\" data-dictid=\"a4789768d21692777188e77f1969cd\">hairy</span> body and long legs.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sandy, dusty areas, often near human dwellings or animal shelters.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits <span class=\"customMeta\" data-dictid=\"5dc59b3af1169277719191cbbe6447\">Leishmania</span> species causing visceral leishmaniasis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Bubonic Plague</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Xenopsylla cheopis</strong> (rat flea)</p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"Rat flea\" data-author=\"Olha Schedrina / The Natural History Museum \" data-hash=\"11859\" data-license=\"CC BY 4.0\" data-source=\"https://en.wikipedia.org/wiki/Oriental_rat_flea#/media/File:NHMUK010177265_The_plague_flea_-_Xenopsylla_cheopis_cheopis_(Rothschild,_1903).jpg\" data-tags=\"May2025\" height=\"123\" src=\"https://image.prepladder.com/notes/yKWOc6LldIkjxbi4tJ4r1746437847.png\" width=\"135\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Small, reddish-brown, flattened body.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Found on rats, especially in urban areas and during <span class=\"customMeta\" data-dictid=\"57d1018b9d1692777197393d47bd6a\">rodent</span> infestations.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Yersinia <span class=\"customMeta\" data-dictid=\"1db39f708f16927771954d003af865\">pestis</span> causing bubonic plague.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Filariasis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Female Culex mosquito</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"US Centers for Disease Control - City of Jacksonville, FL\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Culex#/media/File:CPipFm.jpg\" data-tags=\"\" height=\"190\" src=\"https://image.prepladder.com/content/Gka9qfNj0b1k4Zt0hp021745405969.png\" width=\"150\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Similar to Anopheles but with more rounded body and darker markings.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Stagnant water, especially in urban and rural areas.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Wuchereria bancrofti causing <span class=\"customMeta\" data-dictid=\"4fb6bd90f016927771918d4a2993ed\">lymphatic</span> filariasis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Zika Virus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Aedes mosquitoes</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"James Gathany, CDC\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Aedes_albopictus#/media/File:CDC-Gathany-Aedes-albopictus-1.jpg\" data-tags=\"\" height=\"113\" src=\"https://image.prepladder.com/content/zmPYf9z6KWmbxw6yY2sL1745405973.png\" width=\"200\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p><strong>Aedes albopictus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Similar to Aedes aegypti, black and white striped legs.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Urban and suburban areas, particularly in places with standing water.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Zika virus causing fever and birth defects.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tick-borne Encephalitis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Ixodes <span class=\"customMeta\" data-dictid=\"63b7807cc41692777200fab227369f\">tick</span> (Option C ruled out)</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Scott Bauer\" data-hash=\"\" data-license=\"OPEN ACCESS\" data-source=\"https://en.m.wikipedia.org/wiki/File:Adult_deer_tick(cropped).jpg\" data-tags=\"\" height=\"177\" src=\"https://image.prepladder.com/content/SVyWf8iUfuQtm6FRHbPE1745405978.png\" width=\"125\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Small, oval-shaped, with a flattened body.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Forested areas, grasslands, and areas with high animal populations.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Tick-borne <span class=\"customMeta\" data-dictid=\"9644652a1f16927771873765457fcc\">encephalitis</span> virus causing encephalitis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Rickettsial Diseases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Rhipicephalus (dog tick)</strong> and other ticks</p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"Rhipicephalus (dog tick)\" data-author=\"NA\" data-hash=\"11869\" data-license=\"NA\" data-source=\"https://commons.wikimedia.org/wiki/File:Rhipicephalus_sanguineus.jpg\" data-tags=\"May2025\" height=\"183\" src=\"https://image.prepladder.com/notes/UGg97jlMinoXmv4vnmJZ1746438132.png\" width=\"151\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oval, flat, with prominent mouthparts.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Grasslands, forests, and around domesticated animals.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Rickettsia bacteria causing typhus, scrub typhus, etc.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Malaria (P. falciparum)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Female Anopheles <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> (Option D ruled out)</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Photo Credit: James Gathany Content Providers(s): CDC\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://commons.wikimedia.org/wiki/File:Anopheles_albimanus_mosquito.jpg\" data-tags=\"\" height=\"117\" src=\"https://image.prepladder.com/content/t5NuTxL2SIKUIZolTgCK1745405987.png\" width=\"167\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Same as <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> vector.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Found in areas with <span class=\"customMeta\" data-dictid=\"00e90b2b491692777199a0547a1945\">stagnant</span> water and human proximity.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Responsible for <strong>severe malaria</strong> (Plasmodium falciparum).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Scrub Typhus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Leptotrombidium mites (chiggers)</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"Chigger - Larvae of tombiculid mite\" data-author=\"Sedhain, Arun & Bhattarai, Gandhi. \" data-hash=\"11871\" data-license=\"CC BY NC SA 3.0\" data-source=\"https://www.researchgate.net/figure/Chigger-larva-of-trombiculid-mite_fig1_319060371\" data-tags=\"May2025\" height=\"158\" src=\"https://image.prepladder.com/notes/EYG2W9wKRj5yy7NFETet1746438248.png\" width=\"148\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Small, red, and often barely visible to the naked eye.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rural and semi-rural areas with dense vegetation.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transmits Orientia tsutsugamushi causing scrub typhus.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The Pathanamthitta district of Kerala was affected by floods and the government distributed doxycycline tablets for prophylaxis. Which other chemical will be distributed along with it?", "options": [{"label": "A", "text": "Zinc phosphide", "correct": false}, {"label": "B", "text": "Malathion", "correct": true}, {"label": "C", "text": "Lindane", "correct": false}, {"label": "D", "text": "Paris green", "correct": false}], "correct_answer": "B. Malathion", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:520px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Chemical</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Use</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Relevance in Floods</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Malathion</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Mosquito control (insecticide)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Prevents malaria, dengue</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Zinc phosphide</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rodenticide (kills rats)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Not used for mosquitoes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Lindane</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Treats <span class=\"customMeta\" data-dictid=\"c6a796b2de16927771913a9977216c\">lice</span> and scabies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Not relevant for floods</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Paris green</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Historical <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> larvicide</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Less commonly used today</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the classification of the air quality index in Delhi station on November 23, based on the provided air pollution index chart for 4 consecutive days? Date AQI November 21 350 November 22 340 November 23 407 November 24 356", "options": [{"label": "A", "text": "Moderately polluted", "correct": false}, {"label": "B", "text": "Poor", "correct": false}, {"label": "C", "text": "Very poor", "correct": false}, {"label": "D", "text": "Severe", "correct": true}], "correct_answer": "D. Severe", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:498px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>AQI Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Health Impact</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>0-50</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Good</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Minimal impact</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>51-100</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Satisfactory</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Minor discomfort to sensitive people</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>101-200</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Moderate</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Discomfort to people with <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> diseases</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>201-300</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Poor</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Breathing discomfort for most people</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>301-400</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Very Poor</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Respiratory illness on prolonged exposure</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>401-500</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Severe</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Severe health impacts, emergency conditions</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>AQI Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Health Impact</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>0-50</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Good</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Minimal or no impact</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>51-100</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Satisfactory</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Minor discomfort for sensitive individuals</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>101-200</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Moderate</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Discomfort for people with <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> diseases</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>201-300</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Poor</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Increased discomfort, especially for children, elderly, and those with lung diseases</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>301-400</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Very Poor</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Respiratory illnesses on prolonged exposure</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>401-500</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Severe</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Serious health impacts, emergency conditions</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which type of thermometer is employed to assess the low air velocity rather than the cooling efficiency of the air?", "options": [{"label": "A", "text": "Kata thermometer", "correct": true}, {"label": "B", "text": "Globe thermometer", "correct": false}, {"label": "C", "text": "Wet globe thermometer", "correct": false}, {"label": "D", "text": "Dial thermometer", "correct": false}], "correct_answer": "A. Kata thermometer", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Thermometer</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Purpose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Measures</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Kata thermometer</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Low air velocity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rate of heat loss from a heated bulb</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Globe thermometer</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Radiant heat</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Temperature considering radiation from surroundings</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Wet globe thermometer</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Thermal comfort index</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Combination of air temperature, humidity, and <span class=\"customMeta\" data-dictid=\"e042c37d881692777197155713288b\">radiant</span> heat</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Dial thermometer</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>General temperature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Direct air or surface temperature</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the standard unit for measuring the brightness of light emitted from a single point source?", "options": [{"label": "A", "text": "Candela", "correct": true}, {"label": "B", "text": "Lux", "correct": false}, {"label": "C", "text": "Lambert", "correct": false}, {"label": "D", "text": "Lumen", "correct": false}], "correct_answer": "A. Candela", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Photometric Quantity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>SI Unit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Common Usage</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Luminous Intensity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Brightness of a light source in a specific direction</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Candela (cd)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used in lighting design, LED specifications</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Luminous Flux</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Total light emitted in all directions</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Lumen (lm) (Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used in bulb ratings, projector brightness</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Illuminance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Light received per unit area</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Lux (lx)</strong> (lm/m²) <strong>(Option B ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used in workplace lighting standards, photography</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Luminance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Perceived brightness of a surface emitting or reflecting light</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Nit (cd/m²)</strong> or <strong>Lambert (Option C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used in display screens, road signs</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "To avoid overcrowding, what is the maximum number of people allowed to live in a house with 2 rooms?", "options": [{"label": "A", "text": "2 people", "correct": false}, {"label": "B", "text": "3 people", "correct": false}, {"label": "C", "text": "4 people", "correct": true}, {"label": "D", "text": "5 people", "correct": false}], "correct_answer": "C. 4 people", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - 4 people</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Number of Rooms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Maximum Number of Persons Recommended</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">> 3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">5</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">7</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">10</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">6</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Add 2 persons for each additional room after 5</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 45-year-old man living in Nellore, Andhra Pradesh presents with the following lesions on his teeth. What is the most likely diagnosis?", "options": [{"label": "A", "text": "Selenosis", "correct": false}, {"label": "B", "text": "Plumbism", "correct": false}, {"label": "C", "text": "Fluorosis", "correct": true}, {"label": "D", "text": "Lathyrism", "correct": false}], "correct_answer": "C. Fluorosis", "question_images": ["https://image.prepladder.com/content/KPGdEFQugU0XpZlTePcB1745913053.png"], "explanation_images": ["https://image.prepladder.com/content/wKrFhkm9Gs7USY1NibEz1745913200.png", "https://image.prepladder.com/content/oAnoy0uvQBAgSBs2sbBZ1745913205.png", "https://image.prepladder.com/content/MlS6gqWalqpDnE2H24QV1745913223.png", "https://image.prepladder.com/content/zpTBjIZmyJ9wfMxC5soh1745913231.png"], "explanation": "<p>Correct Answer C - Fluorosis</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:right\"><strong>Fluorine content in water</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:right\"><strong>Related symptoms</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><0.5mg/L</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Dental caries</p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Suyash.dwivedi\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Dental_Caries_Cavity_2.JPG\" data-tags=\"\" height=\"394\" src=\"https://image.prepladder.com/content/wKrFhkm9Gs7USY1NibEz1745913200.png\" width=\"492\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>>1.5mg/L<strong> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Dental fluorosis</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\" Peter JM Crawford, Michael Aldred, Agnes Bloch-Zupan.\" data-hash=\"\" data-license=\"CC BY 2.0\" data-source=\"https://en.wikipedia.org/wiki/Dental_fluorosis#/media/File:G_amelogenesis_imperfecta.jpg\" data-tags=\"\" height=\"358\" src=\"https://image.prepladder.com/content/oAnoy0uvQBAgSBs2sbBZ1745913205.png\" width=\"492\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3-6mg/L</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Skeletal fluorosis</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Mirrel\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Genu-Valgum.png\" data-tags=\"\" height=\"665\" src=\"https://image.prepladder.com/content/MlS6gqWalqpDnE2H24QV1745913223.png\" width=\"492\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>>10mg/L</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Crippling fluorosis</p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Shanti Lal Choubisa\" data-hash=\"\" data-license=\"NA\" data-source=\"https://www.researchgate.net/figure/Tribal-individuals-suffering-with-crippling-severe-skeletal-fluorosis-with-paraplegia-and_fig3_361388877\" data-tags=\"\" height=\"425\" src=\"https://image.prepladder.com/content/zpTBjIZmyJ9wfMxC5soh1745913231.png\" width=\"492\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Orthotolidine test is used to determine", "options": [{"label": "A", "text": "Nitrates in water", "correct": false}, {"label": "B", "text": "Nitrites in water", "correct": false}, {"label": "C", "text": "Free and combined chlorine in water", "correct": true}, {"label": "D", "text": "Ammonia content in water", "correct": false}], "correct_answer": "C. Free and combined chlorine in water", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/GSVvoy0sUKbSGELrcaxx1747917824.png"], "explanation": "<p>Correct Answer C - Free and combined <span class=\"customMeta\" data-dictid=\"3c268a141b1692777184336bc40100\">chlorine</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Under which category of disaster management does the modification of building codes to construct earthquake-resistant buildings fall?", "options": [{"label": "A", "text": "Disaster response", "correct": false}, {"label": "B", "text": "Disaster reconstruction", "correct": false}, {"label": "C", "text": "Disaster rehabilitation", "correct": false}, {"label": "D", "text": "Disaster mitigation", "correct": true}], "correct_answer": "D. Disaster mitigation", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/31ehwfpAkwlJcV5nzeiy1745261158.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Water from a broken septic tank is collected in a container and breeding mosquitoes are seen. The image of the larva is given below. Identify the species of the mosquito.", "options": [{"label": "A", "text": "Anopheles", "correct": true}, {"label": "B", "text": "Aedes", "correct": false}, {"label": "C", "text": "Mansonia", "correct": false}, {"label": "D", "text": "Culex", "correct": false}], "correct_answer": "A. Anopheles", "question_images": ["https://image.prepladder.com/notes/ES0oQeZj5jlf4EGKmSQU1746699327.png"], "explanation_images": ["https://image.prepladder.com/notes/xsFDy3V6XamqyvraUFkd1745259315.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:762px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ANOPHELES</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CULEX</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>AEDES</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MANSONOIDES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>LARVAE</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>No <span class=\"customMeta\" data-dictid=\"9d59eae3ce16927771982e99e0035f\">siphon</span> tube</strong></li>\n<li>Rests <span class=\"customMeta\" data-dictid=\"635a7ea50e16927771944f08f17aed\">parallel</span> to water surface</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Longer <span class=\"customMeta\" data-dictid=\"9d59eae3ce16927771982e99e0035f\">siphon</span> tubes</li>\n<li>Rests at an angle to water surface</li>\n</ul>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Shorter <span class=\"customMeta\" data-dictid=\"9d59eae3ce16927771982e99e0035f\">siphon</span> tubes</li>\n<li>Rests at an angle to water surface</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>EGGS</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lays singly</li>\n<li><strong>Boat shaped</strong></li>\n<li><strong>Lateral floats</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lays in clusters (100-250 in a single cluster)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lays singly</li>\n<li><strong>Cigar shaped</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lays in clusters</li>\n<li><strong>Star-shaped</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HABITAT</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Exophilic: outside house</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Exophilic: day</p>\n<p>Endophilic: night</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Endophilic: inside house</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Exophilic</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Sickness absenteeism of workers in the industry is used to evaluate", "options": [{"label": "A", "text": "Health of the worker", "correct": true}, {"label": "B", "text": "Health of the family", "correct": false}, {"label": "C", "text": "Industrial environment", "correct": false}, {"label": "D", "text": "Community health", "correct": false}], "correct_answer": "A. Health of the worker", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A pus swab has been sent for microbiological examination to your lab. After testing the sample how will you discard it?", "options": [{"label": "A", "text": "Red", "correct": true}, {"label": "B", "text": "Yellow", "correct": false}, {"label": "C", "text": "Blue", "correct": false}, {"label": "D", "text": "Black", "correct": false}], "correct_answer": "A. Red", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Color Bin</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Waste Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Example</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disposal Method</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Infectious waste, human <span class=\"customMeta\" data-dictid=\"116f86834a1692777181a914379270\">anatomical</span> waste, microbiological waste</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pus swabs, cultures, dressings, placenta</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incineration or deep burial</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Red</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contaminated recyclable waste</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>IV sets, gloves, syringes without needles</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Autoclaving/shredding</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Blue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Glassware</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Broken vials, slides, ampoules</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disinfection & recycling</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Black</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>General non-infectious waste</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Office waste, packaging material</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Municipal disposal</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>White (Puncture-proof)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sharps waste</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Needles, scalpels</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Autoclaving & shredding</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The following instrument is used for the measurement of?", "options": [{"label": "A", "text": "Cooling power air", "correct": true}, {"label": "B", "text": "Radiant heat", "correct": false}, {"label": "C", "text": "Humidity", "correct": false}, {"label": "D", "text": "Temperature", "correct": false}], "correct_answer": "A. Cooling power air", "question_images": ["https://image.prepladder.com/content/HNCJXuebymHbEv5mlWV71724849842.png"], "explanation_images": ["https://image.prepladder.com/content/8jj1pYYEPLzZvnSNE7gr1724849943.png", "https://image.prepladder.com/content/2vZg7WlZ5Ro2naBpN2E51724849956.png"], "explanation": "<p>Correct Option A - <span class=\"customMeta\" data-dictid=\"579dcf5fc51692777185eef17a83c6\">Cooling</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Rukmini is attending the village health nutrition and sanitation program day. How frequently is this conducted?", "options": [{"label": "A", "text": "Every month", "correct": true}, {"label": "B", "text": "Every week", "correct": false}, {"label": "C", "text": "Every 14 days", "correct": false}, {"label": "D", "text": "Every 3 months", "correct": false}], "correct_answer": "A. Every month", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of sanitation facilities should be provided for the soldiers returning from war?", "options": [{"label": "A", "text": "Pit method", "correct": false}, {"label": "B", "text": "Dumping method", "correct": false}, {"label": "C", "text": "Trench latrine", "correct": true}, {"label": "D", "text": "Acqua privy", "correct": false}], "correct_answer": "C. Trench latrine", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the recommended free residual chlorine level after chlorination of a well to ensure adequate disinfection?", "options": [{"label": "A", "text": "0.5 ppm after 1 hour", "correct": true}, {"label": "B", "text": "0.5 ppm after 2 hours", "correct": false}, {"label": "C", "text": "0/8 ppm after 1 hour", "correct": false}, {"label": "D", "text": "0.5 ppm after 2 hours", "correct": false}], "correct_answer": "A. 0.5 ppm after 1 hour", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the vector responsible for transmitting Orientia tsutsugamushi?", "options": [{"label": "A", "text": "Mite", "correct": true}, {"label": "B", "text": "Tick", "correct": false}, {"label": "C", "text": "Louse", "correct": false}, {"label": "D", "text": "Flea", "correct": false}], "correct_answer": "A. Mite", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- M\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Air humidity and dew point temperature of the air is measured using which of the following instruments?", "options": [{"label": "A", "text": "Sling psychrometer", "correct": true}, {"label": "B", "text": "Kata thermometer", "correct": false}, {"label": "C", "text": "Barometer", "correct": false}, {"label": "D", "text": "Dial thermometer", "correct": false}], "correct_answer": "A. Sling psychrometer", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/WTT5sWB7nfQXuVH02pCW1747206192.png", "https://image.prepladder.com/content/5Td6QG5LWClo5XZYipVW1747206202.png", "https://image.prepladder.com/content/X7rViq0RF65Fmh23hiWt1747206242.png", "https://image.prepladder.com/content/qMPSbOCGYGTOTTDkjClV1747206250.png"], "explanation": "<p>Correct Option A - <span class=\"customMeta\" data-dictid=\"5e2a7b127c1692777198f4895cc7c0\">Sling</span> psychrometer</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Air <span class=\"customMeta\" data-dictid=\"941f005c7d1692777189872035c678\">humidity</span> measuring instruments</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>A. Hygrometer</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Hannes Grobe\" data-hash=\"\" data-license=\"CC BY 3.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Hygrometer-thermometer_hg.jpg\" data-tags=\"\" height=\"277\" src=\"https://image.prepladder.com/content/WTT5sWB7nfQXuVH02pCW1747206192.png\" width=\"390\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>B. <span class=\"customMeta\" data-dictid=\"5e2a7b127c1692777198f4895cc7c0\">Sling</span> psychrometer</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"CambridgeBayWeather\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Wet-bulb_temperature#/media/File:Sling_psychrometer.JPG\" data-tags=\"\" height=\"149\" src=\"https://image.prepladder.com/content/5Td6QG5LWClo5XZYipVW1747206202.png\" width=\"344\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<ul>\n<li>Wet and dry thermometers are mounted side by side</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>C. Assman psychrometer</strong></p>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Assmann\" data-hash=\"\" data-license=\"CC0\" data-source=\"https://www.si.edu/object/nmah_1167487\" data-tags=\"\" height=\"202\" src=\"https://image.prepladder.com/content/X7rViq0RF65Fmh23hiWt1747206242.png\" width=\"466\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<ul>\n<li>Can be used even in strong sunshine</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>D. Dry and wet bulb hygrometer</strong></p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"550\" src=\"https://image.prepladder.com/content/qMPSbOCGYGTOTTDkjClV1747206250.png\" width=\"466\"/></p>\n<ul>\n<li>Most widely used</li>\n<li>Same readings in both (dry and wet) bulbs indicate 100 per cent <span class=\"customMeta\" data-dictid=\"e4696a0f8d169277719865588e55c7\">saturation</span> with moisture</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Match the following columns A. Byssinosis 1. Cane sugar factories B. Bagassosis 2. Sandstone industry C. Silicosis 3. Cement industry D. Asbestosis 4. Textile industry", "options": [{"label": "A", "text": "A2-B4-C1-D3", "correct": false}, {"label": "B", "text": "A4-B1-C2-D3", "correct": true}, {"label": "C", "text": "A2-B1-C4-D3", "correct": false}, {"label": "D", "text": "A4-B1-C3-D2", "correct": false}], "correct_answer": "B. A4-B1-C2-D3", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which international agency helps in construction of sanitary latrines( toilet building) in India?", "options": [{"label": "A", "text": "USAID", "correct": false}, {"label": "B", "text": "CURE", "correct": false}, {"label": "C", "text": "Redcross", "correct": false}, {"label": "D", "text": "FORD", "correct": true}], "correct_answer": "D. FORD", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - FORD\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How is water collected for bacteriological examination during a disease outbreak?", "options": [{"label": "A", "text": "Collect water from already leaking taps", "correct": false}, {"label": "B", "text": "Before collecting, let water flow for at least 1 minute", "correct": false}, {"label": "C", "text": "Water sample container is kept close to the tap avoid spillage", "correct": false}, {"label": "D", "text": "Collect from a gentle stream of water to avoid splashing", "correct": true}], "correct_answer": "D. Collect from a gentle stream of water to avoid splashing", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The ideal per capita space for students in a classroom should be", "options": [{"label": "A", "text": "&gt;5 sq. ft.", "correct": false}, {"label": "B", "text": "&gt;10 sq. ft.", "correct": true}, {"label": "C", "text": "&gt;15 sq. ft.", "correct": false}, {"label": "D", "text": "&gt;20 sq. ft.", "correct": false}], "correct_answer": "B. >10 sq. ft.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe the process that occurs in an oxidation pond?", "options": [{"label": "A", "text": "Always aerobic", "correct": false}, {"label": "B", "text": "Always anaerobic", "correct": false}, {"label": "C", "text": "Aerobic during day, anaerobic during night", "correct": true}, {"label": "D", "text": "Anaerobic during day, aerobic during night", "correct": false}], "correct_answer": "C. Aerobic during day, anaerobic during night", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "While measuring a patient's blood pressure at a primary health center, the sphygmomanometer accidentally fell and broke, resulting in spilled mercury on the ground. Which of the following is the most appropriate step to clean this spillage?", "options": [{"label": "A", "text": "Collect it by using a card on a sheet of paper and put the mercury into a jar", "correct": true}, {"label": "B", "text": "Collect it by sweeping it with a broom and throwing outside", "correct": false}, {"label": "C", "text": "Collect it by sweeping it and flush it in the toilet", "correct": false}, {"label": "D", "text": "Collect it by hand and then wash hands with water", "correct": false}], "correct_answer": "A. Collect it by using a card on a sheet of paper and put the mercury into a jar", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Sandfly does not transmit:", "options": [{"label": "A", "text": "Kala azar", "correct": false}, {"label": "B", "text": "Oriental sore", "correct": false}, {"label": "C", "text": "Oraya fever", "correct": false}, {"label": "D", "text": "Trench fever", "correct": true}], "correct_answer": "D. Trench fever", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the recommended level of free residual chlorine in drinking water?", "options": [{"label": "A", "text": "0.2 mg/L", "correct": false}, {"label": "B", "text": "0.3 mg/L", "correct": false}, {"label": "C", "text": "0.4 mg/L", "correct": false}, {"label": "D", "text": "0.5 mg/L", "correct": true}], "correct_answer": "D. 0.5 mg/L", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the minimum amount of land needed for the trench method to be applied in controlled tipping for a population of 10,000?", "options": [{"label": "A", "text": "4 acres", "correct": false}, {"label": "B", "text": "5 acres", "correct": false}, {"label": "C", "text": "2 acres", "correct": false}, {"label": "D", "text": "1 acre", "correct": true}], "correct_answer": "D. 1 acre", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/FgZTnmqg2ksT4x5E1zvg1713767826.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the options below does not lead to water hardness?", "options": [{"label": "A", "text": "Calcium carbonate", "correct": true}, {"label": "B", "text": "Calcium sulphate", "correct": false}, {"label": "C", "text": "Calcium bicarbonate", "correct": false}, {"label": "D", "text": "Magnesium bicarbonate", "correct": false}], "correct_answer": "A. Calcium carbonate", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A: <span class=\"customMeta\" data-dictid=\"54de8b79a91692777183e608bc0dd4\">Calcium</span&g\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Mosquito having spotted wings is?", "options": [{"label": "A", "text": "Anopheles", "correct": true}, {"label": "B", "text": "Culex", "correct": false}, {"label": "C", "text": "Aedes", "correct": false}, {"label": "D", "text": "Mansonia", "correct": false}], "correct_answer": "A. Anopheles", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/c63UveFKbiTXQ7Saq9Yl1713771781.png"], "explanation": "\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\n<tbody>\n<tr>\n<td>\n<p>Identification</p>\n</td>\n<td>\n<ul>\n<li>\n<p>Sits at an angle of 450.</p>\n</li>\n<li>\n<p>Head is downwards - resting in an inclined position.</p>\n</li>\n<li>\n<p>Has spotted wings</p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Breeding</p>\n</td>\n<td>\n<ul>\n<li>Anopheles breed in clean <span class=\"customMeta\" data-dictid=\"00e90b2b491692777199a0547a1945\">stagnant</span> water (Also called sophisticated mosquitoes).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Eggs</p>\n</td>\n<td>\n<ul>\n<li>Eggs are laid singly.</li>\n<li>Eggs are boat-shaped with <span class=\"customMeta\" data-dictid=\"fc380e21321692777191739bd99191\">lateral</span> floats.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Larvae</p>\n</td>\n<td>\n<ul>\n<li>Larva doesn't have a <span class=\"customMeta\" data-dictid=\"9d59eae3ce16927771982e99e0035f\">siphon</span> tube - no breathing. Rests <span class=\"customMeta\" data-dictid=\"635a7ea50e16927771944f08f17aed\">parallel</span> to the surface of the water.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Flight range</p>\n</td>\n<td>\n<ul>\n<li>2 to 3 km.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 44 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following statements is true regarding shallow and deep wells?", "options": [{"label": "A", "text": "Shallow wells tap water from underneath the first impervious layer and are not liable for contamination.", "correct": false}, {"label": "B", "text": "Deep wells yield limited quantities of water and usually dry up during summer.", "correct": false}, {"label": "C", "text": "Shallow wells are more likely to get contaminated and yield limited quantities of water.", "correct": true}, {"label": "D", "text": "Deep wells are easier and cheaper to construct compared to shallow wells.", "correct": false}], "correct_answer": "C. Shallow wells are more likely to get contaminated and yield limited quantities of water.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/PmkCSQuPOWGztW9zsYct1728540216.jpg"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:550px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Shallow well</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Deep well</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Taps water from above first <span class=\"customMeta\" data-dictid=\"889843c97016927771896dcf504b08\">impervious</span> layer</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Taps water from underneath the first <span class=\"customMeta\" data-dictid=\"889843c97016927771896dcf504b08\">impervious</span> layer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Moderately hard water</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Very hard water</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>More likely to get contaminated</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Not liable for <span class=\"customMeta\" data-dictid=\"22b9188ade169277718581ce9dc589\">contamination</span> yielding purer water</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yield limited quantities of water</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yield sufficient quantities of water providing source of constant supply</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Easy and cheaper to construct</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Difficult and expensive to construct</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/lGwc7NBLB4MQsIXOtGkH1743241958.mp3", "video": ""}, {"text": "You are required to disinfect a well using Horrock’s apparatus. The well has a diameter of 1.5 meters and a depth of 10 meters. Considering 2 grams of bleaching powder (calcium hypochlorite) is needed per cubic meter of water for effective disinfection, how much bleaching powder is required to disinfect this well?", "options": [{"label": "A", "text": "28 grams", "correct": false}, {"label": "B", "text": "35 grams", "correct": true}, {"label": "C", "text": "42 grams", "correct": false}, {"label": "D", "text": "50 grams", "correct": false}], "correct_answer": "B. 35 grams", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B) 35 g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/p8owKzul61iuFUlCo8Cd1743242187.mp3", "video": ""}, {"text": "Which of the following diseases is primarily classified as a water-washed disease?", "options": [{"label": "A", "text": "Cholera", "correct": false}, {"label": "B", "text": "Dracunculiasis (Guinea worm disease)", "correct": false}, {"label": "C", "text": "Trachoma", "correct": true}, {"label": "D", "text": "Malaria", "correct": false}], "correct_answer": "C. Trachoma", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:650px\">\n<tbody>\n<tr>\n<td style=\"text-align:center\"><strong>Type of Disease</strong></td>\n<td style=\"text-align:center\"><strong>Definition/Transmission</strong></td>\n<td style=\"text-align:center; width:225px\"><strong>Examples</strong></td>\n</tr>\n<tr>\n<td><strong>Water Borne</strong></td>\n<td>Caused by <span class=\"customMeta\" data-dictid=\"eba893313f16927771906290ce7e79\">ingestion</span> of pathogens in contaminated water.</td>\n<td style=\"width:225px\">Cholera, Typhoid, Diarrhea, <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">Hepatitis</span> A and E, GI infections, Polio.</td>\n</tr>\n<tr>\n<td><strong>Water Washed</strong></td>\n<td>Due to lack of clean water for washing, leading to poor <span class=\"customMeta\" data-dictid=\"15fa752a4f1692777189fe275abf3f\">hygiene</span> and sanitation.</td>\n<td style=\"width:225px\">Infective trachoma, Scabies, Conjunctivitis, <span class=\"customMeta\" data-dictid=\"7cdec994951692777182191a3c6b4e\">Bacillary</span> Amoebic dysentery, <span class=\"customMeta\" data-dictid=\"cc08235a711692777202fabc5d7cdb\">Worm</span> infestations.</td>\n</tr>\n<tr>\n<td><strong>Water Based</strong></td>\n<td>Due to the <span class=\"customMeta\" data-dictid=\"cf8f491dba169277719075ce2b5594\">intermediate</span> host in water - Contact with or <span class=\"customMeta\" data-dictid=\"eba893313f16927771906290ce7e79\">ingestion</span> of water containing the organisms.</td>\n<td>Dracunculiasis (Guinea <span class=\"customMeta\" data-dictid=\"cc08235a711692777202fabc5d7cdb\">worm</span> disease), Schistosomiasis</td>\n</tr>\n<tr>\n<td><strong>Water related/Breeding</strong></td>\n<td>Diseases that are transmitted by vectors which breed in or near water such as mosquitoes.</td>\n<td>Malaria, <span class=\"customMeta\" data-dictid=\"75dc439beb16927771857bde5104df\">Dengue</span> fever, Japanese Encephalitis, Chikungunya.</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/YUjH5Gj2Drxbn1F9BHD91743242738.mp3", "video": ""}, {"text": "Which of the following microbiological tests is considered confirmatory evidence for recent fecal contamination of water?", "options": [{"label": "A", "text": "Total Coliform Test", "correct": false}, {"label": "B", "text": "Fecal streptococci", "correct": true}, {"label": "C", "text": "Clostridium perfringens Test", "correct": false}, {"label": "D", "text": "Heterotrophic Plate Count", "correct": false}], "correct_answer": "B. Fecal streptococci", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dG3vq9vKMdGXoN398g2b1743242869.mp3", "video": ""}, {"text": "Which of the following statements regarding the Presumptive Coliform Test is TRUE?", "options": [{"label": "A", "text": "Membrane filtration technique confirms the presence of E.Coli in water", "correct": false}, {"label": "B", "text": "Suitable growth medium is key in multiple tube method", "correct": false}, {"label": "C", "text": "Coliforms must be detected in 1000mL of sample of drinking water", "correct": false}, {"label": "D", "text": "1-3 coliforms in 100 cc of water is satisfactory water", "correct": true}], "correct_answer": "D. 1-3 coliforms in 100 cc of water is satisfactory water", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:548px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Water Quality Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Coliform Count (per 100 cc of water)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Excellent</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>No coliforms - Ideal <span class=\"customMeta\" data-dictid=\"e0b9b6647b1692777196072340adcd\">Potable</span> Water</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Satisfactory</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>1-3 coliforms</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Suspicious</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>4-10 coliforms</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Unsatisfactory</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>More than 10 coliforms</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:620px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>MULTIPLE TUBE METHOD</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>MEMBRANE <span class=\"customMeta\" data-dictid=\"83d76f27051692777202029aee0cd3\">FILTRATION</span> METHOD</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Purpose: Detecting and estimating <span class=\"customMeta\" data-dictid=\"5e2538ec3216927771841a1a9fc1f2\">coliform</span> levels in water samples.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Purpose: Isolating and quantifying bacteria in a water sample.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Medium & Indicator : Lactose-containing <span class=\"customMeta\" data-dictid=\"46988d61a21692777183ac440c691a\">broth</span> (e.g., Mc-Conkey broth) & Bromocresol purple</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Membrane material : <span class=\"customMeta\" data-dictid=\"6f3ca6553416927771843c886c856b\">Cellulose</span> <span class=\"customMeta\" data-dictid=\"4a769f1fa91692777187e17d7ed73a\">ester</span> Bacteria from the water sample are trapped on the <span class=\"customMeta\" data-dictid=\"34cd707428169277719272942b7905\">membrane</span> surface during filtration. The <span class=\"customMeta\" data-dictid=\"34cd707428169277719272942b7905\">membrane</span> is then placed on a growth medium, allowing the trapped bacteria to <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> colonies <strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Result Interpretation : Number of positive test tubes counted and compared to a standard chart to determine the Most Probable Number (MPN) of <span class=\"customMeta\" data-dictid=\"5e2538ec3216927771841a1a9fc1f2\">coliform</span> organisms per 100 mL of water sample.</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Result Interpretation : Colonies are counted after incubation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Result Availability: 72-96 hours</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Result Availability: 20 hours.</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/osdqxMEFwAgLePCxvN611743243276.mp3", "video": ""}, {"text": "Which of the following statements is true ? A) E. Coli can produce stable acids like lactic acid from glucose B) Indole production is a characteristic E. coli C) E. coli can use citrate as its source of carbon D) Presumptive Coliforms test is a confirmatory test for Ecoli detection in water E) E .COLI Is the most reliable evidence for fecal contamination of water", "options": [{"label": "A", "text": "A,B,C", "correct": false}, {"label": "B", "text": "A,B,D", "correct": false}, {"label": "C", "text": "B,C,D,E", "correct": false}, {"label": "D", "text": "A,B,C,E", "correct": true}], "correct_answer": "D. A,B,C,E", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:651px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>E. <span class=\"customMeta\" data-dictid=\"cd0a7121a516927771846d8f5248bb\">Coli</span> confirmatory test (EIC test)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Eijkman test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Detects the production of stable acids (such as <span class=\"customMeta\" data-dictid=\"b82539c9ae1692777191a3f7ddd7bb\">lactic</span> acid) from <span class=\"customMeta\" data-dictid=\"af3ae60c0c16927771889b84ca41c0\">glucose</span> fermentation. <span class=\"customMeta\" data-dictid=\"bc09155adc169277719248f9543785\">Methyl</span> red indicator doesn’t change color in acid medium<strong> (Statement A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Indole production</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Indole production is a characteristic E. <span class=\"customMeta\" data-dictid=\"cd0a7121a516927771846d8f5248bb\">coli</span> from Tryptophan. A positive result is indicated by a <span class=\"customMeta\" data-dictid=\"b971d4fc541692777184a13e8c6def\">cherry</span> red color in addition to Kovac's reagent.<strong>(Statement B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Citrate Utilization</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>A positive result is indicated by a change in the color of the medium from green to blue, suggesting that E. <span class=\"customMeta\" data-dictid=\"cd0a7121a516927771846d8f5248bb\">coli</span> has utilized citrate<strong> (Statement C)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/nLzYZV5vXhlMUCQnLxE31743244507.mp3", "video": ""}, {"text": "Which of the following is false regarding WHO recommended drinking water quality?", "options": [{"label": "A", "text": "Turbidity: Up to 5 NTU (Nephelometric Turbidity Unit)", "correct": false}, {"label": "B", "text": "Color: Up to 15 TCU (True Color Unit)", "correct": false}, {"label": "C", "text": "Potable water ideally should have zero coliforms per 100ml", "correct": false}, {"label": "D", "text": "Nitrate: &lt; 100 mg/L", "correct": true}], "correct_answer": "D. Nitrate: < 100 mg/L", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:605px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Drinking Water Quality Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Recommended Value</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Microbiological Aspects</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Coliform Bacteria (E. coli)</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>0 coliforms per 100ml of <span class=\"customMeta\" data-dictid=\"e0b9b6647b1692777196072340adcd\">potable</span> water</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Chemical Properties</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Chlorides</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Maximum: 600 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Hardness</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>100-300 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Total Dissolved Solids (TDS)</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Less than 600 mg/L (good), permissible up to 1000 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Lead</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>0.01 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Fluoride</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>0.5-0.8 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Nitrate</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>< 50 mg/L</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Physical Properties</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Turbidity</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Up to 5 NTU (Nephelometric <span class=\"customMeta\" data-dictid=\"e895ca709f1692777201b92e4f9aee\">Turbidity</span> Unit)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Color</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Up to 15 TCU (True Color Unit) or 5 Hazen units</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/P2OG3dfKa2hfe8j4IGxC1746563168.mp3", "video": ""}, {"text": "Which of the following statements is false ?", "options": [{"label": "A", "text": "Sodium carbonate can remove temporary and permanent hardness of water", "correct": false}, {"label": "B", "text": "Temporary hardness of water is the presence of Calcium and Magnesium sulfates", "correct": true}, {"label": "C", "text": "1 meq/L hardness = 50 mg CaCO3 (50ppm) per liter of water", "correct": false}, {"label": "D", "text": "Hardness of water protects from cardiovascular disease", "correct": false}], "correct_answer": "B. Temporary hardness of water is the presence of Calcium and Magnesium sulfates", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/S60Sj1N7HvkzecxU6EbO1732764152.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vvYpvSD2PH2THzqVKfWp1743243601.mp3", "video": ""}, {"text": "Which of the following are the features of Rapid Sand filter ? i) Large storage is required ii) Needs skilled operations iii) Effective size of sand 0.4-0.7 mm iv) Ideal for smaller towns for rapid purification of water v) Functions by utilizing the concept of gravity and pressure.", "options": [{"label": "A", "text": "i, iii, iv", "correct": false}, {"label": "B", "text": "i, ii, iii", "correct": false}, {"label": "C", "text": "ii, iii, v", "correct": true}, {"label": "D", "text": "ii, iii, iv", "correct": false}], "correct_answer": "C. ii, iii, v", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/RkVSgfmry7A0y5Okwa3P1732698728.png", "https://image.prepladder.com/notes/kGwh9LVUfhcp8CLerxCY1732698771.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<thead>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Feature</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Slow Sand Filter</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Rapid Sand Filter</strong></p>\n</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Biological</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Mechanical</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Mechanism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Uses a <strong>Schmutzdecke layer,</strong> to remove organic matter, bacteria, and <span class=\"customMeta\" data-dictid=\"2c12c0827f169277719418337c3aeb\">oxidize</span> <span class=\"customMeta\" data-dictid=\"60a605eefe1692777181366c74d7c0\">ammoniacal</span> <span class=\"customMeta\" data-dictid=\"391d32291016927771932bab695579\">nitrogen</span> into nitrates.</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Uses gravity and pressure to filter water.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Rate of Filtration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Slow</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Fast</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Space Requirements</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Occupies more space</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Occupies less space</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Preliminary Storage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Required</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Not required</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Washing</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Cleaned by scraping the sand bed, which is a less frequent and more labor-intensive process.</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Cleaned by <strong>backwashing</strong>, a frequent and relatively easy process.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Effective Size of Sand</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>0.2-0.3 mm</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>0.4-0.7 mm <strong>(iii)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Operation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Does not require skilled operation</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Requires skilled operation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Turbidity Removal</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Fair</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Good</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><strong>Ideal For</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Smaller towns</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p>Preferred for use in large cities</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\"><strong>Image</strong></td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p><img alt=\"Slow sand filter\" data-author=\"NA\" data-hash=\"242\" data-license=\"NA\" data-source=\"NA\" data-tags=\"November2024\" src=\"https://image.prepladder.com/notes/RkVSgfmry7A0y5Okwa3P1732698728.png\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\"><img alt=\"Rapid sand filter\" data-author=\"NA\" data-hash=\"243\" data-license=\"NA\" data-source=\"NA\" data-tags=\"November2024\" src=\"https://image.prepladder.com/notes/kGwh9LVUfhcp8CLerxCY1732698771.png\"/></td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/52ouAKPiL7wc8t3aX9n81743243797.mp3", "video": ""}, {"text": "John &amp; his 10-year-old son set off on a camping trip to a remote area for its beautiful streams and scenic views. They spot a river flowing with clear water however John warns his son to not drink from it directly and rather purify it first. Which of the following statements is true regarding the purification of water on a small scale?", "options": [{"label": "A", "text": "Boiling water is preferred over chlorination because it is cost-effective and provides long-term residual activity.", "correct": false}, {"label": "B", "text": "Boiling is not preferred as a mode of water purification because it requires re-treatment every 4-6 hours.", "correct": true}, {"label": "C", "text": "Chlorination is less effective than boiling because it lacks residual activity and requires frequent re-treatment.", "correct": false}, {"label": "D", "text": "Water should be turbid for chlorination to effectively take place.", "correct": false}], "correct_answer": "B. Boiling is not preferred as a mode of water purification because it requires re-treatment every 4-6 hours.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/O0vB67k5NgWkIpC1M8lF1746563269.mp3", "video": ""}, {"text": "Which statement best describes the disinfecting property of chlorine when used in water purification?", "options": [{"label": "A", "text": "The major disinfecting property of chlorine is due to the hypochlorite ion (OCl-).", "correct": false}, {"label": "B", "text": "The residual activity of chlorine, known as free chlorine, is mainly due to hydrogen chloride (HCI) in water.", "correct": false}, {"label": "C", "text": "Chlorination is the primary method for water purification due to its ability to kill all types of microorganisms without altering taste and smell.", "correct": false}, {"label": "D", "text": "The disinfecting property of chlorine is primarily due to hypochlorous acid (HOCl).", "correct": true}], "correct_answer": "D. The disinfecting property of chlorine is primarily due to hypochlorous acid (HOCl).", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Zis4cvvFo92IccnGi3YM1728544535.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/KSyiSDlMv45eFLjt0IGS1743245553.mp3", "video": ""}, {"text": "All of the following are true regarding the components of the above-given apparatus except:", "options": [{"label": "A", "text": "It contains 1 black cup and 6 white cups.", "correct": false}, {"label": "B", "text": "The 6 white cups are of 200ml capacity each", "correct": false}, {"label": "C", "text": "The indicator used in this is starch iodide.", "correct": false}, {"label": "D", "text": "It has 1 glass stirring rod", "correct": true}], "correct_answer": "D. It has 1 glass stirring rod", "question_images": ["https://image.prepladder.com/content/WnMjgZelD2qLoYcq3X861728544682.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8SQzowcGoB06gp5oqs3Z1743245084.mp3", "video": ""}, {"text": "Which of the following statements is true regarding the OT and OTA tests used for chlorination of water?", "options": [{"label": "A", "text": "The OT test can detect both free and combined chlorine separately, making it superior to the OTA test.", "correct": false}, {"label": "B", "text": "Breakpoint chlorination is achieved when the chlorine demand of water is exceeded, resulting in free or residual chlorine that keeps the water disinfected.", "correct": false}, {"label": "C", "text": "The OTA test is unable to detect combined chlorine separately and is affected by interfering substances such as nitrates, iron, and manganese.", "correct": false}, {"label": "D", "text": "The OT test can detect free chlorine but not combined chlorine, while the OTA test can detect both free and combined chlorine separately and is not affected by interfering substances.", "correct": true}], "correct_answer": "D. The OT test can detect free chlorine but not combined chlorine, while the OTA test can detect both free and combined chlorine separately and is not affected by interfering substances.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/uweYexpLmMBM0MWxl6Yg1743244774.mp3", "video": ""}, {"text": "A major earthquake has struck a densely populated coastal city, causing widespread infrastructure damage. The city's water supply system is severely compromised, leading to contamination of water sources. How much residual chlorine would be required to purify water in this scenario?", "options": [{"label": "A", "text": "&gt;0.5mg/L for a contact period of 1 hour", "correct": false}, {"label": "B", "text": "&gt;1 mg/L and contact period of 1 hour", "correct": false}, {"label": "C", "text": "&gt;2 mg/L for a contact period of 1 hour", "correct": false}, {"label": "D", "text": "≥ 0.7 mg/L for a contact period of 1 hour.", "correct": true}], "correct_answer": "D. ≥ 0.7 mg/L for a contact period of 1 hour.", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/4iyXwUZIsApxDIh6AsMG1732764458.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RrV4TJyJlPwPLJCjzG6d1743245838.mp3", "video": ""}, {"text": "Near your home, there is an overhead water tank that needs disinfection. The sanitation officer decides to prepare a solution using high-test hypochlorite. Which of the following is true regarding high-test hypochlorite?", "options": [{"label": "A", "text": "A single tablet of 0.5 g is sufficient to disinfect 20 liters of water.", "correct": false}, {"label": "B", "text": "It contains 60-70% available chlorine.", "correct": true}, {"label": "C", "text": "It is available as Nesfield's and Bursoline's tablets.", "correct": false}, {"label": "D", "text": "It is no longer recommended for water disinfection.", "correct": false}], "correct_answer": "B. It contains 60-70% available chlorine.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/O8MQIKQf3nPWyBM4iCMc1746563457.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following components of epidemiology is associated with descriptive epidemiology?", "options": [{"label": "A", "text": "Disease determinants", "correct": false}, {"label": "B", "text": "Disease distribution", "correct": true}, {"label": "C", "text": "Disease frequency", "correct": false}, {"label": "D", "text": "Both A and C", "correct": false}], "correct_answer": "B. Disease distribution", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>OBSERVATIONAL STUDIES</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>EXPERIMENTAL/INTERVENTIONAL STUDIES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Descriptive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Analytical</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Case reports</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ecological studies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Randomised controlled trials</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Case series</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Case-control studies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Field trials</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cohort studies</p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Community trials</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cross-sectional studies</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/g9KstpyaCTMxTKGilBal1744706143.mp3", "video": ""}, {"text": "What are rate, ratio, and proportion commonly referred to as in the context of epidemiology?", "options": [{"label": "A", "text": "Tools for risk assessment", "correct": false}, {"label": "B", "text": "Tools for biostatistical analysis", "correct": false}, {"label": "C", "text": "Basic tools of measurement in epidemiology", "correct": true}, {"label": "D", "text": "Measures of central tendency", "correct": false}], "correct_answer": "C. Basic tools of measurement in epidemiology", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Measure</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Ratio</strong></td>\n<td>A comparison of two numbers, e.g., male to female ratio</td>\n</tr>\n<tr>\n<td><strong>Proportion</strong></td>\n<td>A type of ratio where the numerator is part of the denominator, e.g., % of infected</td>\n</tr>\n<tr>\n<td><strong>Rate</strong></td>\n<td>A proportion with a time component, e.g., <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> rate per year</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HbVDTHN29k9b0o14MXbk1744706266.mp3", "video": ""}, {"text": "Which of the following is an example of a ‘Rate’ in epidemiology?", "options": [{"label": "A", "text": "The number of students who prefer chocolate ice cream to vanilla ice cream in a class.", "correct": false}, {"label": "B", "text": "The percentage of female students in a school.", "correct": false}, {"label": "C", "text": "The number of deaths from lung cancer per 100,000 people in a year.", "correct": true}, {"label": "D", "text": "The ratio of males to females in a population.", "correct": false}], "correct_answer": "C. The number of deaths from lung cancer per 100,000 people in a year.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Types of Rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Crude Rates</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Actual observed rates are calculated directly from raw data without adjustments.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Crude birth rate:</strong> Number of births / Total population * 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Specific Rates</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rates that focus on specific causes</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculosis mortality rate:</strong> Deaths due to TB / Population at risk * 100,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Standardised Rates</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rates are adjusted to account for differences in the composition of populations when comparing different groups or populations.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Age-standardized mortality rate.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/t4LgghNc2RFUANXSbZHx1744706413.mp3", "video": ""}, {"text": "Which of the following is the correct formula for calculating the Sex Ratio?", "options": [{"label": "A", "text": "(Number of females / Number of males) x 100", "correct": false}, {"label": "B", "text": "(Number of males / Number of females) x 100", "correct": false}, {"label": "C", "text": "(Number of females / Total population) x 100", "correct": false}, {"label": "D", "text": "(Number of females / Number of males) x 1000", "correct": true}], "correct_answer": "D. (Number of females / Number of males) x 1000", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:478px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sex Ratio = (Number of females/Number of males) × 1000</strong></p>\n</td>\n</tr>\n</tbody>\n\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:662px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Ratio</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Proportion</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A ratio compares two distinct groups by dividing the value of one group by the other, where the numerator is <strong>not</strong> <strong>part</strong> of the denominator.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It is calculated by dividing the numerator by the denominator and multiplying the result by 100. Notably, the numerator is a <strong>part</strong> of the denominator.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Example:</p>\n<p><strong>Sex Ratio</strong> = (Number of females/Number of males) × 1000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Example:</p>\n<p><strong>Prevalence</strong> = (Number of females / Total population) x 100</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CjCJjKzRFzGPLLJpZjiV1744706692.mp3", "video": ""}, {"text": "A town with a population of 10,000 people is experiencing an influenza outbreak. Over the past two weeks, 500 cases have been reported. What is the proportion of the population affected by influenza during these two weeks?", "options": [{"label": "A", "text": "0.5%", "correct": false}, {"label": "B", "text": "2%", "correct": false}, {"label": "C", "text": "5%", "correct": true}, {"label": "D", "text": "10%", "correct": false}], "correct_answer": "C. 5%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/qAE5L7I6OvSpazuTDM401725012665.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LpYdrvDXnh1TSqMbIBHD1744782926.mp3", "video": ""}, {"text": "In a small town with a population of 2,00,000 people, a public health team is investigating an outbreak of gastroenteritis. Over one month, 1,500 new cases of gastroenteritis are reported. Calculate the incidence rate of gastroenteritis in the above population.", "options": [{"label": "A", "text": "0.75 per 1,000 population", "correct": false}, {"label": "B", "text": "1.5 per 1,000 population", "correct": false}, {"label": "C", "text": "7.5 per 1,000 population", "correct": true}, {"label": "D", "text": "15 per 1,000 population", "correct": false}], "correct_answer": "C. 7.5 per 1,000 population", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/B4uwwpwYpnHIvUwjMZfD1725013029.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/g0jBmGMITTkNk6sO7m7Q1744783998.mp3", "video": ""}, {"text": "Which of the following is NOT a primary use of disease incidence?", "options": [{"label": "A", "text": "Identifying and monitoring disease trends over time", "correct": false}, {"label": "B", "text": "Evaluating the effectiveness of public health interventions", "correct": false}, {"label": "C", "text": "Helps to determine the efficacy of primary prevention of the disease", "correct": false}, {"label": "D", "text": "Determining the genetic predisposition of individuals to certain diseases", "correct": true}], "correct_answer": "D. Determining the genetic predisposition of individuals to certain diseases", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/hr2yDXcZa0zTRzev7sz21744707094.mp3", "video": ""}, {"text": "A health survey reported 5 confirmed cases of Chronic Kidney Disease in a community of 100 people in December. By the end of January, 3 new cases of CKD were diagnosed. Prevalence was reported for Dec and Jan, particularly on Jan 31st. Which of the following statements is true in this scenario?", "options": [{"label": "A", "text": "Point prevalence is more than period prevalence", "correct": false}, {"label": "B", "text": "Point prevalence is less than period prevalence", "correct": false}, {"label": "C", "text": "Point prevalence is equal to period prevalence", "correct": true}, {"label": "D", "text": "Point prevalence and Period prevalence cannot be compared", "correct": false}], "correct_answer": "C. Point prevalence is equal to period prevalence", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/7SH0EWu5N98YUgpkIRaV1725013628.jpg", "https://image.prepladder.com/content/FwzyY4iABP5XA4E49SCa1725013746.jpg", "https://image.prepladder.com/content/kdoxn6tpiqISUxo9APWe1725013746.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/t6WTFz5uTxWZsknVgRKl1744782374.mp3", "video": ""}, {"text": "During a food festival in a small town, 200 people attended a barbecue event. Within 48 hours, 60 attendees developed symptoms of food poisoning. Local health officials want to measure the extent of the outbreak among those who attended the event. What is the term used to describe the proportion of people who developed symptoms out of all the attendees?", "options": [{"label": "A", "text": "Attack rate", "correct": true}, {"label": "B", "text": "Secondary attack rate", "correct": false}, {"label": "C", "text": "Case fatality rate", "correct": false}, {"label": "D", "text": "Prevalence rate", "correct": false}], "correct_answer": "A. Attack rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/P1RvySjt5Cek8PBEFML61732697352.png", "https://image.prepladder.com/content/562R8uWO2qYHKzMD4nQF1732697344.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Sj3E31tYJRMJaboc8OeL1744782700.mp3", "video": ""}, {"text": "A research team conducted a study containing 5,000 participants who were free of diabetes at the start of the study for 10 years. During the follow-up period, 300 participants developed Type 2 diabetes. Which of the following measures best describes the outcome assessed in this study?", "options": [{"label": "A", "text": "Includes both new and existing cases of the disease", "correct": false}, {"label": "B", "text": "Follow up not required", "correct": false}, {"label": "C", "text": "Independent of the duration of the illness", "correct": true}, {"label": "D", "text": "Estimates the burden of the disease", "correct": false}], "correct_answer": "C. Independent of the duration of the illness", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incidence</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prevalence</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Probability or chance of developing a disease.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Probability or chances of already having a disease.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Includes only new cases (<strong>Option C)</strong>.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Includes both old and new cases <strong>(Option A)</strong>.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Follow-up is required of the individuals in a population to identify new cases.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No follow-up is required <strong>(Option B)</strong>.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Independent of the duration of the illness.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Depends on the duration of the disease (P=I x D).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Suited measure when studying cause and effect.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Suited measure in estimating the burden of a disease or attribute<strong> (Option D)</strong>.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Calculated from a <span class=\"customMeta\" data-dictid=\"dbb5ff6b6c1692777184160220ac92\">cohort</span> study.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Calculated from a cross-sectional study.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/bOcdkU1atwPaq8V9TO4n1744782090.mp3", "video": ""}, {"text": "A public health department is implementing a new vaccination program to prevent the spread of a contagious disease in a community. After several years of the vaccination program, which of the following outcomes is most likely to occur due to the successful vaccination program?", "options": [{"label": "A", "text": "Decrease in the prevalence of the disease", "correct": false}, {"label": "B", "text": "Increase in the prevalence of the disease", "correct": false}, {"label": "C", "text": "Decrease in the incidence of the disease", "correct": true}, {"label": "D", "text": "Incidence of the disease remain the same", "correct": false}], "correct_answer": "C. Decrease in the incidence of the disease", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:564px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Modality </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incidence </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prevalence</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A new <span class=\"customMeta\" data-dictid=\"e684325d851692777196af9e64013b\">preventive</span> <span class=\"customMeta\" data-dictid=\"2333eb40ca16927771925442e26719\">modality</span> launched</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreased</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreased</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A new treatment <span class=\"customMeta\" data-dictid=\"2333eb40ca16927771925442e26719\">modality</span> launched</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Remains same</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Increased</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Improvement in treatment - Cures the person</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No change</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreased</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>If a new drug is effective in reducing deaths from the disease but not curing</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No change</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Increased</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>If a new drug is effective in <span class=\"customMeta\" data-dictid=\"f151fbf4bb1692777185f1ccac267f\">curing</span> a disease</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No change</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreased</p>\n</td>\n</tr>\n</tbody>\n\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:441px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prevalence (P) </strong><strong>∝</strong><strong> <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> (I) x Duration (D)</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Case fatality Rate = (</strong>Total number of death due to particular disease / Total number of cases of the same disease) * 100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Secondary Attack Rate =</strong> (No of secondary cases that develop following exposure to primary case within 1 <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period / Total no of <span class=\"customMeta\" data-dictid=\"55691242bb1692777199360f64cb67\">susceptible</span> contacts) * 100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Point <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> = (</strong>Number of all current cases (old and new) of a specified disease existing at a given point in time / Estimated population at the same point in time) * 100 <strong> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Period <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> =</strong> (Number of existing cases (old and new) of a specified disease during a given time interval / Estimated mid-interval population at-risk) * 100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Crude birth rate:</strong> (Number of births / Total population) * 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incidence </strong>= (No. of new cases of specific disease during a given time period / Population at risk during that period) * 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Proportion =</strong> (Number of cases present at a giver time periodTotal number od people at the same time period) * 100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sex Ratio =</strong> (Number of females/Number of males) * 1000</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EjGuKB7FMQV69s0NWoF21745323035.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 21 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following best describes a bias?", "options": [{"label": "A", "text": "Random variation in data collection between exposure and disease", "correct": false}, {"label": "B", "text": "Systematic error in determining an association between exposure and disease", "correct": true}, {"label": "C", "text": "Measure of strength of association between exposure and disease", "correct": false}, {"label": "D", "text": "Direct estimation of frequency of exposure between disease and non-disease groups", "correct": false}], "correct_answer": "B. Systematic error in determining an association between exposure and disease", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Types of Bias</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Subject Bias</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Investigator Bias </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Analysis Bias</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Recall bias</li>\n<li>Hawthorne bias</li>\n<li>Reporting bias</li>\n<li>Non-response bias</li>\n</ol>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Selection bias\n\t\t\t\t<ol>\n<li>Berksonian</li>\n<li>Neyman</li>\n<li>Reporting</li>\n</ol>\n</li>\n<li>Publication bias</li>\n<li>Misclassification bias</li>\n<li>Interviewer bias</li>\n<li>Pygmalion bias</li>\n<li>Golem bias (blunting of response due to demotivated observer)</li>\n</ol>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Statistical bias</li>\n</ol>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/z9azoOgc0Wft7BPxGtmX1745949341.mp3", "video": ""}, {"text": "A case-control study is being conducted by researchers to investigate the association between the onset of cardiovascular disease (CVD) and a high-calorie diet. Which of the following scenarios best reflects a form of Neyman bias?", "options": [{"label": "A", "text": "Asking participants to recall and report their dietary habits over the past five years.", "correct": false}, {"label": "B", "text": "Excluding cases who had CVD in the past but have since died or fully recovered.", "correct": true}, {"label": "C", "text": "Including cases as patients admitted with CVD and controls as patients admitted for non-CVD causes", "correct": false}, {"label": "D", "text": "Publishing findings with a strong association, while those with inconclusive associations are unpublished.", "correct": false}], "correct_answer": "B. Excluding cases who had CVD in the past but have since died or fully recovered.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Neyman bias</strong><br/>\n<strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Known as prevalence-incidence bias occurs when a study excludes individuals who have died or recovered from the disease.</li>\n<li>Missing cases lead to an underestimation of the true association.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Berksonian bias</strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>A <span class=\"customMeta\" data-dictid=\"88261f221b169277719869abab319a\">selection bias</span> by choosing hospitalised patients with multiple comorbidities as the study population</li>\n<li>Leads to a distorted association between exposure and outcome.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Reporting bias</strong><br/>\n<strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Information reporting is influenced by the knowledge of the desired outcome or the interest of the researchers.</li>\n<li>E.g., CVD patients may attribute their condition to past dietary habits leading to high-fat consumption, while those without CVD may underreport unhealthy eating habits.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Publication bias</strong></p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Studies with positive or significant results are more likely to be published than studies with negative or non-significant results.</li>\n<li>This leads to an overrepresentation of studies showing a strong association between high-fat diets and CVD, potentially misleading readers.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HPClEmAruNS5v76uI9kN1745949826.mp3", "video": ""}, {"text": "A researcher is investigating the association between a new dietary supplement and the development of a rare type of cancer. The study includes 100 patients with the cancer and 100 healthy individuals. All of the following biases can occur in this type of study except?", "options": [{"label": "A", "text": "Recall Bias", "correct": false}, {"label": "B", "text": "Selection Bias", "correct": false}, {"label": "C", "text": "Ascertainment Bias", "correct": false}, {"label": "D", "text": "Pygmalion Bias", "correct": true}], "correct_answer": "D. Pygmalion Bias", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/X43IGk3DWqZZCM5FKMIO1745950039.mp3", "video": ""}, {"text": "A research study monitors smoking cessation among participants using daily self-reporting. Despite being heavy smokers outside the study, participants consistently report reduced cigarette consumption during the study period. What phenomenon is likely influencing these findings?", "options": [{"label": "A", "text": "Hawthorne effect", "correct": true}, {"label": "B", "text": "Ascertainment bias", "correct": false}, {"label": "C", "text": "Interviewer bias", "correct": false}, {"label": "D", "text": "Recall bias", "correct": false}], "correct_answer": "A. Hawthorne effect", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SBor06juM59ZA6ViEq5V1745950215.mp3", "video": ""}, {"text": "Which of the following statements best describes the purpose of double blinding in clinical trials", "options": [{"label": "A", "text": "It fails to avoid performance bias", "correct": false}, {"label": "B", "text": "It avoids both subject and observer bias", "correct": true}, {"label": "C", "text": "Patients and the control group are unaware of their enrollment in a research trial.", "correct": false}, {"label": "D", "text": "It avoids selection bias", "correct": false}], "correct_answer": "B. It avoids both subject and observer bias", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Blinding levels in Clinical trials</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Single-blinded blinding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Participants are unaware of the intervention</li>\n<li>Prevent biases that arise from knowledge of the treatment.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. Double-blinded blinding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Both the researchers and participants are unaware of the intervention given <strong>(prevents observer and subject bias)</strong> <strong>(</strong><strong>Option </strong><strong> B and C)</strong></li>\n<li>Most <strong>common</strong> <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> of blinding</li>\n<li>Avoids <strong>performance bias</strong> (associated with knowledge of treatment) <strong>(</strong><strong>Option </strong><strong> A)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. Triple-blinded blinding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Researchers, participants, and analysers are unaware of the intervention.</li>\n<li>The <strong>best</strong> <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> of blinding.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/fhSqDF9o5RCjHzfwWYT81746271518.mp3", "video": ""}, {"text": "Researchers found a significant correlation in a study examining the association between coffee drinking and heart disease. However, further analysis revealed that smoking might be influencing this relationship. In this context, smoking is considered as", "options": [{"label": "A", "text": "Causal variable", "correct": false}, {"label": "B", "text": "Random error", "correct": false}, {"label": "C", "text": "Confounding factor", "correct": true}, {"label": "D", "text": "Spurious correlation", "correct": false}], "correct_answer": "C. Confounding factor", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/60EBPVxwZRsMNp7YnnL91746271631.mp3", "video": ""}, {"text": "Q. Match the following: 1. Randomisation a. Eliminates only the known confounders. 2. Standardisation b. Eliminate the effect of age and gender. 3. Restriction c. Eliminates both known and unknown confounders. 4. Matching d. Limits the participation in the study to individuals who are similar concerning confounders.", "options": [{"label": "A", "text": "1-a, 2-b, 3-c, 4-d", "correct": false}, {"label": "B", "text": "1-b, 2-a, 3-d, 4-c", "correct": false}, {"label": "C", "text": "1-c, 2-b, 3-d, 4-a", "correct": true}, {"label": "D", "text": "1-d, 2-c, 3-a, 4-b", "correct": false}], "correct_answer": "C. 1-c, 2-b, 3-d, 4-a", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:741px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Techniques To Eliminate Confounders</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Method</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Matching</strong></p>\n<br/>\n\t\t\t </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cases are matched with the control and should be similar to the control in every possible variable that can affect the study's outcome except the disease in question.</li>\n<li>Done in a case-control study.</li>\n<li><strong>Eliminates only the known confounders.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>In a study on the effect of a new teaching method, students are matched based on their prior academic performance and then assigned to different groups.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Restriction</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Limits participation in the study to individuals who are similar in terms of confounders.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>In a study, Restricting the study to only non-smokers will eliminate the effect of smoking.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Randomisation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>The technique where every participant will get an equal and known chance of being allocated to either the treatment group or the control group.</li>\n<li><strong>Eliminates both known and unknown confounders.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>In a clinical trial, patients are randomly assigned to receive either a new drug or a placebo, balancing out <span class=\"customMeta\" data-dictid=\"fe39bb8df416927771849b06e48169\">confounding</span> variables.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Stratification (Segregate)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Stratify the participants of the study or segregate them.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>In a clinical trial, to eliminate the effect of smoking as a confounder, one can further stratify or segregate participants into smokers and non-smokers.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Standardisation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Adjusting the results to a standard population to control for <span class=\"customMeta\" data-dictid=\"fe39bb8df416927771849b06e48169\">confounding</span> variables often used in rate comparisons</li>\n<li><strong>Eliminate or control the effect of age and gender.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>In a study comparing mortality rates between two countries, rates are standardised to a common age distribution to control for age differences.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Multivariate <span class=\"customMeta\" data-dictid=\"f30740eaeb16927771978fc4c375eb\">regression</span> models</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Used when there are multiple confounders.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>In an observational diet and heart disease study, a <span class=\"customMeta\" data-dictid=\"f30740eaeb16927771978fc4c375eb\">regression</span> model is used to adjust for age, gender, and physical activity.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NpE1NdgjXHdKyhfSRWwK1746271749.mp3", "video": ""}, {"text": "A study investigating the relationship between smoking and lung cancer found that the association was stronger in individuals who exercised less and weaker in those who exercised more. In this context, what role does exercise play?", "options": [{"label": "A", "text": "Confounding Variable", "correct": false}, {"label": "B", "text": "Effect Modifier", "correct": true}, {"label": "C", "text": "Spurious Association", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "B. Effect Modifier", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/K6PZlCQmVIKqSagGUGlJ1745950515.mp3", "video": ""}, {"text": "In a mountainous region, many residents suffer from endemic goitre. What type of association best describes the relationship between living at high altitudes and the prevalence of goitre in these residents?", "options": [{"label": "A", "text": "Spurious Association", "correct": false}, {"label": "B", "text": "Indirect Association", "correct": true}, {"label": "C", "text": "One-to-One Causal Association", "correct": false}, {"label": "D", "text": "Multifactorial Causation", "correct": false}], "correct_answer": "B. Indirect Association", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:659px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Type of Association</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1. <span class=\"customMeta\" data-dictid=\"8700db0ae4169277719988f170583c\">Spurious</span> (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>An association that appears to be present but is actually due to chance or an error in data.</p>\n<ul>\n<li><strong>Ice cream sales and <span class=\"customMeta\" data-dictid=\"5031a7245c1692777186f7e7aabc06\">drowning</span> incidents</strong>:\n\n\t\t\t\t<ul>\n<li>Higher ice cream sales are associated with more <span class=\"customMeta\" data-dictid=\"5031a7245c1692777186f7e7aabc06\">drowning</span> incidents, but this is spurious. The real factor is summer, which increases both swimming activity and ice cream sales.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2. <span class=\"customMeta\" data-dictid=\"2f73e160ba1692777190d65065c95b\">Indirect</span> (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>An association in which a third variable (known as the <span class=\"customMeta\" data-dictid=\"fe39bb8df416927771849b06e48169\">confounding</span> variable) causes both the predictor and the outcome.</p>\n<ul>\n<li><strong>Coffee consumption and heart disease</strong>:\n\n\t\t\t\t<ul>\n<li>Initial studies suggested coffee consumption is <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> to heart disease.</li>\n<li>However, smoking (a confounder) was later found to be more prevalent among coffee drinkers and the real cause of the observed association.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3. Direct (Causal)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>An association where the predictor directly influences the outcome.</p>\n<ul>\n<li><strong>Smoking and lung cancer</strong>:\n\n\t\t\t\t<ul>\n<li>Smoking directly increases the risk of lung cancer through the <span class=\"customMeta\" data-dictid=\"0b1500fcd816927771900b59d16bde\">inhalation</span> of carcinogens.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong> a. One-to-One causal (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A direct causal link between a single predictor and a single outcome.</p>\n<ul>\n<li><strong>Vitamin C <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> and scurvy</strong>:\n\n\t\t\t\t<ul>\n<li>Lack of <span class=\"customMeta\" data-dictid=\"964b8993a1169277720279c9c96cd1\">vitamin C</span> (predictor) directly causes <span class=\"customMeta\" data-dictid=\"0eff347651169277719862eb775130\">scurvy</span> (outcome).</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong> b. Multifactorial</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>An association involving multiple factors contributing to the outcome.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/zZn5bUs5kr2YKRdaXID01746271395.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 19 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A researcher wants to know whether there is an association of CRP values with the risk of myocardial infarction/stroke. The study group was divided into quintiles and the following table is formed based on the study results. Which of the following statements is true regarding the relationship between CRP and the risk of myocardial infarction/stroke? Quintile CRP Values (mg/L) Relative Risk (RR) Study Population 1 0.1–1 1 6000 2 1.1–2 1.3 6000 3 2.1–3 1.7 6000 4 3.1–4 2.1 6000 5 4.1–5 2.8 6000", "options": [{"label": "A", "text": "CRP has no association with risk of Ml/stroke", "correct": false}, {"label": "B", "text": "Increase in CRP increases the risk of Ml/stroke", "correct": true}, {"label": "C", "text": "Increase in CRP decreases the risk of Ml/stroke", "correct": false}, {"label": "D", "text": "In quintile 1, there is no risk of Ml/stroke", "correct": false}], "correct_answer": "B. Increase in CRP increases the risk of Ml/stroke", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ In quintile 1, there is no risk of MI/stroke (Option D)</li><li>↳ 1</li><li>↳ no risk</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:314px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Quintile</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>CRP (mg/L)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Relative Risk (RR)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>1</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.1–1.0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1.0 (Baseline)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>2</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1.1–2.0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1.3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>3</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2.1–3.0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1.7</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>4</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3.1–4.0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2.1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>5</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4.1–5.0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2.8</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which statement accurately describes the single exposure point source epidemic?", "options": [{"label": "A", "text": "Has more than one incubation period", "correct": false}, {"label": "B", "text": "Has multiple peaks", "correct": false}, {"label": "C", "text": "Explosive in nature", "correct": true}, {"label": "D", "text": "Slow rise and fall", "correct": false}], "correct_answer": "C. Explosive in nature", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Match the following scientists with their discoveries: 1. Walter reed a. Prevention of scurvy by citrus fruits 2. Edward Jenner b. Yellow fever 3. James Lind c. Smallpox vaccination", "options": [{"label": "A", "text": "1-a, 2-b, 3-a", "correct": false}, {"label": "B", "text": "1-b, 2-a, 3-c", "correct": false}, {"label": "C", "text": "1-c, 2-b, 3-a", "correct": false}, {"label": "D", "text": "1-b, 2-c, 3-a", "correct": true}], "correct_answer": "D. 1-b, 2-c, 3-a", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "An intern has to study the relationship between ordering food online and development of obesity using a case-control study. What are the best study groups to be selected?", "options": [{"label": "A", "text": "Only obese persons", "correct": false}, {"label": "B", "text": "Only online food eaters", "correct": false}, {"label": "C", "text": "Obese and non-obese persons", "correct": true}, {"label": "D", "text": "Online food eaters and non-online food eaters", "correct": false}], "correct_answer": "C. Obese and non-obese persons", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/5e8Po0qwbTNRBQgusdYR1747918000.png"], "explanation": "<p>Correct Answer C - <span class=\"customMeta\" data-dictid=\"43663fecf11692777194c870d1d548\">Obese</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A study to determine the association between maternal smoking histories from pregnant women during their antenatal visits and then subsequently assessing the birth weight of their babies soon after delivery. What type of study is this?", "options": [{"label": "A", "text": "Prospective cohort", "correct": true}, {"label": "B", "text": "Retrospective cohort", "correct": false}, {"label": "C", "text": "Case-control", "correct": false}, {"label": "D", "text": "Cross-sectional", "correct": false}], "correct_answer": "A. Prospective cohort", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/VGT64Cpww5t6sQ9JWfWI1748163902.png"], "explanation": "<p>Correct Answer A - <span class=\"customMeta\" data-dictid=\"22b453f7d01692777196953a3c9dd0\">Prospective</span> <span class=\"customMeta\" data-dictid=\"dbb5ff6b6c1692777184160220ac92\">cohort</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is used to reduce the selection bias in a clinical trial?", "options": [{"label": "A", "text": "Selecting the population", "correct": false}, {"label": "B", "text": "Intervention", "correct": false}, {"label": "C", "text": "Randomization", "correct": true}, {"label": "D", "text": "Written informed consent", "correct": false}], "correct_answer": "C. Randomization", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Randomization</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Randomisation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>The technique where every participant will get an equal and known chance of being allocated to either the treatment group or the control group.</li>\n<li>Eliminates both known and unknown confounders.</li>\n<li><strong>Selection bias is avoided by randomisation,</strong> which arises when the participants are not representative of the target population.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>In a clinical trial, patients are randomly assigned to receive either a new drug or a placebo, balancing out <span class=\"customMeta\" data-dictid=\"fe39bb8df416927771849b06e48169\">confounding</span> variables.</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Types of Bias</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Subject Bias</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Investigator Bias </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Analysis Bias</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Recall bias</li>\n<li>Hawthorne bias</li>\n<li>Reporting bias</li>\n<li>Non-response bias</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Selection bias</strong>\n<ul>\n<li>Berksonian</li>\n<li>Neyman</li>\n<li>Reporting</li>\n</ul>\n</li>\n<li>Publication bias</li>\n<li>Misclassification bias</li>\n<li>Interviewer bias</li>\n<li>Pygmalion bias</li>\n<li>Golem bias (blunting of response due to demotivated observer)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Statistical bias</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following components are included in the Human Development Index (HDI), as per the World Health Organization (WHO)?", "options": [{"label": "A", "text": "Life expectancy at birth, literacy and standard of living", "correct": true}, {"label": "B", "text": "Life expectancy at 1 year, literacy and standard of living", "correct": false}, {"label": "C", "text": "Infant mortality rate, literacy and standard of living", "correct": false}, {"label": "D", "text": "Life expectancy at 1 year, literacy and infant mortality rate", "correct": false}], "correct_answer": "A. Life expectancy at birth, literacy and standard of living", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the options below does not constitute a component of case-control studies?", "options": [{"label": "A", "text": "Follow up", "correct": true}, {"label": "B", "text": "Matching", "correct": false}, {"label": "C", "text": "Strength of association", "correct": false}, {"label": "D", "text": "Selection of study subjects", "correct": false}], "correct_answer": "A. Follow up", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements is true regarding prevalence and incidence in relation to a newly introduced drug that reduces mortality but does not cure the disease?", "options": [{"label": "A", "text": "Decrease in incidence", "correct": false}, {"label": "B", "text": "Decrease in prevalence", "correct": false}, {"label": "C", "text": "Increase in incidence", "correct": false}, {"label": "D", "text": "Increase in prevalence", "correct": true}], "correct_answer": "D. Increase in prevalence", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements accurately describes the relationship between prevalence, incidence, and the introduction of a new drug that reduces mortality but does not provide a cure?", "options": [{"label": "A", "text": "Decrease in incidence", "correct": false}, {"label": "B", "text": "Decrease in prevalence", "correct": false}, {"label": "C", "text": "Increase in incidence", "correct": false}, {"label": "D", "text": "Increase in prevalence", "correct": true}], "correct_answer": "D. Increase in prevalence", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What does the standardized age mortality ratio indicate?", "options": [{"label": "A", "text": "Death rate of a population adjusted to a standard age distribution", "correct": true}, {"label": "B", "text": "Death rate of a population adjusted to a standard sex distribution", "correct": false}, {"label": "C", "text": "Removal of bias due to different age group population in different countries", "correct": false}, {"label": "D", "text": "To eliminate age structure of different countries", "correct": false}], "correct_answer": "A. Death rate of a population adjusted to a standard age distribution", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:623px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Types of Rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Crude Rates</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Actual observed rates are calculated directly from raw data without adjustments.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Crude birth rate:</strong> Number of births / Total population * 1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Specific Rates</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rates that focus on specific causes</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tuberculosis mortality rate:</strong> Deaths due to TB / Population at risk * 100,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Standardised Rates</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rates are adjusted to account for differences in the composition of populations when comparing different groups or populations.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Age-standardized mortality rate.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most effective study design to demonstrate the relationship between cause and effect among the options listed below?", "options": [{"label": "A", "text": "Case control study", "correct": false}, {"label": "B", "text": "Cohort study", "correct": true}, {"label": "C", "text": "Cross-sectional study", "correct": false}, {"label": "D", "text": "Clinical trial", "correct": false}], "correct_answer": "B. Cohort study", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "To study the effect of vitamin C on respiratory disease pre-post study is done. Arrange in the correct sequence. A. Select case and control. B. Matching C. Measure total exposure D. Analysis", "options": [{"label": "A", "text": "ABCD", "correct": true}, {"label": "B", "text": "BCDA", "correct": false}, {"label": "C", "text": "CBAD", "correct": false}, {"label": "D", "text": "DABC", "correct": false}], "correct_answer": "A. ABCD", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/PkF33UbLKFngvlcnvEF61724845621.png"], "explanation": "<p>Correct Option A - ABCD\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Zxw0fZ9bsf1qPT6iAC6X1746263615.mp3", "video": ""}, {"text": "The maternal mortality ratio is defined as?", "options": [{"label": "A", "text": "Maternal Deaths per 10,000 live births", "correct": false}, {"label": "B", "text": "Maternal Deaths per 100,000 live births", "correct": true}, {"label": "C", "text": "Maternal Deaths per 10,000 women in reproductive age group", "correct": false}, {"label": "D", "text": "Maternal Deaths per 100,000 women in reproductive age group", "correct": false}], "correct_answer": "B. Maternal Deaths per 100,000 live births", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">Maternal</span> Deaths per 100,000 live births.</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Indicator</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Formula</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Significance</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Maternal Mortality Ratio (MMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths per 100,000 live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths ×100,000</p>\n<p>—--------------------------------------</p>\n<p>Number of live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Indicator of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> health and the quality of <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> healthcare services.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Infant Mortality Rate (IMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of infant deaths (under 1 year) per 1,000 live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of infant deaths ×1,000</p>\n<p>—-----------------------------------</p>\n<p>Number of live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reflects the overall health of infants, healthcare quality, and living conditions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Under-5 Mortality Rate (U5MR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Probability of a child dying before age 5 per 1,000 live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of under-5 deaths ×1,000</p>\n<p>—------------------------------------</p>\n<p>Number of live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reflects child health and effectiveness of health interventions from birth to age 5.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Neonatal Mortality Rate (NMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of deaths of infants aged 0-28 days per 1,000 live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> deaths ×1,000</p>\n<p>—-----------------------------------</p>\n<p>Number of live births</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measures the health of newborns and effectiveness of <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> care and interventions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Child Mortality Rate (CMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of deaths in children aged 1-4 per 1,000 children in this age group</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of deaths in children aged 1-4 ×1,000</p>\n<p>—------------------------------------------</p>\n<p>Total number of children aged 1-4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reflects mortality due to preventable causes in children aged 1-4 years, indicating health and <span class=\"customMeta\" data-dictid=\"05bef24e711692777193a154b462b4\">nutrition</span> status.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Stillbirth Rate (SBR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of stillbirths per 1,000 live births and stillbirths</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of stillbirths ×1,000</p>\n<p>—------------------------------------------</p>\n<p>Number of live births + stillbirths</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reflects the quality of <span class=\"customMeta\" data-dictid=\"d554413593169277719693b8e38638\">prenatal</span> care and the healthcare system’s ability to prevent <span class=\"customMeta\" data-dictid=\"f375a3584316927772020efa386e3e\">fetal</span> deaths.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Contraceptive <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">Prevalence</span> Rate (CPR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Percentage of women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age using contraception</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Number of women using <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> ×100</p>\n<p>—----------------------------------------</p>\n<p>Total number of women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Indicates access to and usage of family planning, helping reduce <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> and child mortality.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Total <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">Fertility</span> Rate (TFR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Average number of children a woman would have over her lifetime</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sum of age-specific <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">fertility</span> rates</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reflects population growth and <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> health patterns.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Life <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">Expectancy</span> at Birth</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Average number of years a <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> is expected to live</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>N/A</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reflects the overall health and quality of life in a population.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A new drug combination of chemotherapy and immunotherapy for metastatic melanoma was prescribed by a radiotherapist. It prolongs survival. Which of the following is true in this situation?", "options": [{"label": "A", "text": "Incidence increases and prevalence reduces", "correct": false}, {"label": "B", "text": "Incidence reduces and prevalence remains the same", "correct": false}, {"label": "C", "text": "Incidence remains the same and prevalence increases", "correct": true}, {"label": "D", "text": "Incidence reduces and prevalence increases", "correct": false}], "correct_answer": "C. Incidence remains the same and prevalence increases", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> remains the same and <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most effective quantitative method for examining previous research studies?", "options": [{"label": "A", "text": "Cohort study", "correct": false}, {"label": "B", "text": "Systematic review", "correct": false}, {"label": "C", "text": "Meta-analysis", "correct": true}, {"label": "D", "text": "RCT", "correct": false}], "correct_answer": "C. Meta-analysis", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - M\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which data set provides the most comprehensive explanation for the variation between the highest and lowest values?", "options": [{"label": "A", "text": "Variance", "correct": false}, {"label": "B", "text": "Coefficient of variation", "correct": false}, {"label": "C", "text": "Range", "correct": true}, {"label": "D", "text": "Interquartile range", "correct": false}], "correct_answer": "C. Range", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Rang\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The maternal mortality ratio defined as?", "options": [{"label": "A", "text": "Maternal Deaths per 10,000 live births", "correct": false}, {"label": "B", "text": "Maternal Deaths per 100,000 live births", "correct": true}, {"label": "C", "text": "Maternal Deaths per 10,000 women in reproductive age group", "correct": false}, {"label": "D", "text": "Maternal Deaths per 100,000 women in reproductive age group", "correct": false}], "correct_answer": "B. Maternal Deaths per 100,000 live births", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which variable determines the disparity in disease occurrence between individuals who have been exposed and those who have not been exposed?", "options": [{"label": "A", "text": "Relative risk", "correct": false}, {"label": "B", "text": "Attributable risk", "correct": true}, {"label": "C", "text": "Population Attributable risk", "correct": false}, {"label": "D", "text": "Odds Ratio", "correct": false}], "correct_answer": "B. Attributable risk", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of study is it when a person collects data on lung cancer patients from government hospitals and the corresponding number of cigarette packets sold during the same time period, in order to examine the relationship between smoking and lung cancer?", "options": [{"label": "A", "text": "Cross sectional", "correct": false}, {"label": "B", "text": "Ecological", "correct": true}, {"label": "C", "text": "Experimental", "correct": false}, {"label": "D", "text": "Quasi-experimental", "correct": false}], "correct_answer": "B. Ecological", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The number of polio cases has been steadily declining in comparison to previous years. This pattern is known as:", "options": [{"label": "A", "text": "Seasonal", "correct": false}, {"label": "B", "text": "Cyclical", "correct": false}, {"label": "C", "text": "Periodical", "correct": false}, {"label": "D", "text": "Secular", "correct": true}], "correct_answer": "D. Secular", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Cyclical trends (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Seasonal trends (Option A ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>They occur in cycles spread over short periods of time.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cycles are associated with seasons.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Examples:</p>\n<ul>\n<li>Measles: every 2-3 years.</li>\n<li>Rubella: every 6-9 years.</li>\n<li>Influenza: every 7-10 years.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Examples:</p>\n<ul>\n<li>Measles.</li>\n<li>Varicella.</li>\n<li>Cerebro-spinal meningitis.</li>\n<li>Upper <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> <span class=\"customMeta\" data-dictid=\"1a1307223f16927772017a994bfc39\">tract</span> infections.</li>\n<li>Malaria.</li>\n<li>Sunstroke.</li>\n<li>Hay fever.</li>\n<li>Snakebite.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the recommended duration for quarantine for the 30 individuals who had contact with a 28-year-old male who is tested positive for SARS-COV-2, but are currently asymptomatic?", "options": [{"label": "A", "text": "Minimum incubation period", "correct": false}, {"label": "B", "text": "Maximum incubation period", "correct": true}, {"label": "C", "text": "Period of communicability", "correct": false}, {"label": "D", "text": "Median incubation period", "correct": false}], "correct_answer": "B. Maximum incubation period", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe a disease that is typically not found in a country but is brought in from abroad, as seen in the case of a 25-year-old male who was diagnosed with the condition upon arrival at an Indian airport, leading to quarantine?", "options": [{"label": "A", "text": "Endemic", "correct": false}, {"label": "B", "text": "Epidemic", "correct": false}, {"label": "C", "text": "Zoonotic", "correct": false}, {"label": "D", "text": "Exotic", "correct": true}], "correct_answer": "D. Exotic", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D) Exotic</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:700px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Term</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Epidemic (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Occurrence of disease clearly in <span class=\"customMeta\" data-dictid=\"7a1ae24f701692777187a7f60bbd9f\">excess</span> of normal <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> (Mean + 2SD or >80% expected frequency).</li>\n<li>Occurrence of even a single case of a previously eliminated disease.</li>\n<li>Occurrence of a single case of an exotic disease.<strong> (Option D)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Seasonal <span class=\"customMeta\" data-dictid=\"c3817918b816927771902d2176d0c8\">influenza</span> outbreaks during winter months.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Endemic (Option A ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Constant presence of a disease within a specific population.</li>\n<li>Epidemiologically <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> cases in terms of time, place, or person.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Malaria in Africa, TB in India</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Pandemic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Global spread of a disease.</li>\n<li>Defined as an epidemic in a large population.</li>\n<li>Requires crossing 2 continents and 2 WHO-specific regions.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>HIV/AIDS, COVID-19.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sporadic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>They occur randomly and unpredictably, without any discernible pattern in time, location, or individual.</li>\n<li>There's no epidemiological link between the cases.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Tetanus</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the serial interval?", "options": [{"label": "A", "text": "Time taken to develop a Primary case A", "correct": false}, {"label": "B", "text": "Time gap between entry of organism till maximum infectivity", "correct": false}, {"label": "C", "text": "Interval between Primary and secondary case", "correct": true}, {"label": "D", "text": "Time gap between onset till first detection", "correct": false}], "correct_answer": "C. Interval between Primary and secondary case", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Arrange the steps of experimental study - Blinding Randomization Defining inclusion and exclusion criteria Statistical analysis", "options": [{"label": "A", "text": "CABD", "correct": true}, {"label": "B", "text": "CBAD", "correct": false}, {"label": "C", "text": "ABCD", "correct": false}, {"label": "D", "text": "DCBA", "correct": false}], "correct_answer": "A. CABD", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Step</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1. Defining <span class=\"customMeta\" data-dictid=\"c3b8b9a17416927771906b1bebb13c\">Inclusion</span> & <span class=\"customMeta\" data-dictid=\"1cc6e4677116927771870a10c66fe7\">Exclusion</span> Criteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Determines which participants are eligible for the study, ensuring a uniform population.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2. Randomization</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Randomly assigns participants into groups (e.g., treatment vs. control) to eliminate selection bias.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3. Blinding</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Conceals group allocation from participants, investigators, or both to reduce bias.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>4. Intervention Implementation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The experimental treatment is administered while maintaining study protocols.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>5. Data Collection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Outcome measures are recorded systematically for further analysis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6. Statistical Analysis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Data is processed using statistical tests to evaluate the treatment effect.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>7. Interpretation & Reporting</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Findings are interpreted, conclusions are drawn, and results are published.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In which phase of clinical trials drug dosing is determined?", "options": [{"label": "A", "text": "Phase 1", "correct": true}, {"label": "B", "text": "Phase 2", "correct": false}, {"label": "C", "text": "Phase 3", "correct": false}, {"label": "D", "text": "Phase 4", "correct": false}], "correct_answer": "A. Phase 1", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/2pXhOXYe8fE3jft9wiVq1724851258.png"], "explanation": "<p>Correct Option A - Ph\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HGdY7nISDG9CHiULqqJO1746262864.mp3", "video": ""}, {"text": "Mid-year population is the denominator in?", "options": [{"label": "A", "text": "CDR", "correct": true}, {"label": "B", "text": "CFR", "correct": false}, {"label": "C", "text": "MMR", "correct": false}, {"label": "D", "text": "NMR", "correct": false}], "correct_answer": "A. CDR", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Blood cholesterol shown as mg/ml value is in which scale?", "options": [{"label": "A", "text": "Ordinal", "correct": false}, {"label": "B", "text": "Nominal", "correct": false}, {"label": "C", "text": "Discrete", "correct": false}, {"label": "D", "text": "Continuous", "correct": true}], "correct_answer": "D. Continuous", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A gym owner observes that individuals who drink iced tea during their workouts tend to lose more weight. What is the nature of this relationship?", "options": [{"label": "A", "text": "Spurious", "correct": false}, {"label": "B", "text": "Relative", "correct": false}, {"label": "C", "text": "Direct", "correct": false}, {"label": "D", "text": "Indirect", "correct": true}], "correct_answer": "D. Indirect", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Indirect</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Type of Association</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Spurious (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>An association that appears to be present but is actually due to chance or an error in data.<br/>\n<br/>\n\t\t\tIf the gym owner's observation was spurious, it would mean that the association between iced tea consumption and weight loss is completely false and exists due to some error in observation or data collection.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Indirect (Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>An association in which a third variable (known as the <span class=\"customMeta\" data-dictid=\"fe39bb8df416927771849b06e48169\">confounding</span> variable) causes both the predictor and the outcome.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Direct (Causal) (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>An association where the predictor directly influences the outcome.</p>\n<p> </p>\n<p>If the relationship between iced tea consumption and weight loss were direct, it would mean that drinking iced tea itself leads to weight loss. However, it is unlikely that drinking iced tea alone would have a direct effect on weight loss.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>a. One-to-One causal </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>A direct causal link between a single predictor and a single outcome.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>b. Multifactorial</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>An association involving multiple factors contributing to the outcome.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A study was conducted in 3 states to measure the mean blood pressure in each community. Health workers were assigned to visit each house in the 3 communities. The mean blood pressure of each community was then compared. What is the study design called?", "options": [{"label": "A", "text": "Case-control", "correct": false}, {"label": "B", "text": "Cross-sectional", "correct": true}, {"label": "C", "text": "Cohort", "correct": false}, {"label": "D", "text": "Ecological study", "correct": false}], "correct_answer": "B. Cross-sectional", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the context of a new onset of a morbid disease, how does the change in incidence affect the prevalence of the disease?", "options": [{"label": "A", "text": "Prevalence is not related to incidence", "correct": false}, {"label": "B", "text": "Incidence will increase, and prevalence will decrease", "correct": false}, {"label": "C", "text": "Incidence and prevalence will increase", "correct": true}, {"label": "D", "text": "Prevalence will increase with a decrease in the incidence", "correct": false}], "correct_answer": "C. Incidence and prevalence will increase", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C- <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> and <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Calculate relative risk for the given situation: Exposed to malaria Not exposed to malaria Vaccinated 6 94 Non-vaccinated 12 88", "options": [{"label": "A", "text": "0.5", "correct": true}, {"label": "B", "text": "2", "correct": false}, {"label": "C", "text": "1.5", "correct": false}, {"label": "D", "text": "1.7", "correct": false}], "correct_answer": "A. 0.5", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Mpynv8YyS4gq2Y7bXgMD1747377986.png"], "explanation": "<p>Correct Option A- 0.5\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which among the following cannot be studied using case-control study?", "options": [{"label": "A", "text": "Effect to cause", "correct": false}, {"label": "B", "text": "Rare Disease", "correct": false}, {"label": "C", "text": "Odds ratio", "correct": false}, {"label": "D", "text": "Cause to effect", "correct": true}], "correct_answer": "D. Cause to effect", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Cause to effect</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Advantages </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Disadvantages </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Less time taken.</li>\n<li>Inexpensive.</li>\n<li>Minimal ethical problems.</li>\n<li>Multiple exposure was studied.</li>\n<li>Rare diseases can be studied.</li>\n<li>Attrition bias not present</li>\n<li>Forms the <span class=\"customMeta\" data-dictid=\"cfcd8c317716927771977076433c53\">rationale</span> for prevention and control programmes based on risk factors.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Selection bias.</li>\n<li>Recall bias.</li>\n<li>Interviewer bias.</li>\n<li>Cannot measure incidence: Only provides estimation of relative risk.</li>\n<li><strong>Cannot <span class=\"customMeta\" data-dictid=\"c9001edbf216927771860f3475b44c\">differentiate</span> between causes and associated factors</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following best helps assess the issues in the quality of healthcare?", "options": [{"label": "A", "text": "Bar diagram", "correct": false}, {"label": "B", "text": "Histogram", "correct": false}, {"label": "C", "text": "Multiple regression model", "correct": false}, {"label": "D", "text": "Ishikawa diagram/ Fishbone diagram", "correct": true}], "correct_answer": "D. Ishikawa diagram/ Fishbone diagram", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/8gWaKwvoq218XBhIr5uk1746182228.png", "https://image.prepladder.com/content/Rv8eDGzLjkvjT0sXm2LI1745996420.png", "https://image.prepladder.com/content/xRhpsyHbvDSzZcbRRkrK1745996420.png", "https://image.prepladder.com/content/53VZ1qLy2a6c6H0NHXLF1745996420.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to SDG proposed goals towards 2030, Which of the following is the target for maternal mortality rate reduction?", "options": [{"label": "A", "text": "&lt;60/100000", "correct": false}, {"label": "B", "text": "&lt;70/100000", "correct": true}, {"label": "C", "text": "&lt;50/100000", "correct": false}, {"label": "D", "text": "&lt;80/100000", "correct": false}], "correct_answer": "B. <70/100000", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - &lt;7\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/IDzkeYuu46C0Jod5AeYI1746268928.mp3", "video": ""}, {"text": "Which of the following statement is correct about triage?", "options": [{"label": "A", "text": "Red- ambulatory", "correct": false}, {"label": "B", "text": "Yellow- stable need observation", "correct": true}, {"label": "C", "text": "Black- minor injuries", "correct": false}, {"label": "D", "text": "Green- life threatening", "correct": false}], "correct_answer": "B. Yellow- stable need observation", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Yellow - stable, need observ\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/HFnxVYqJQa08maxXyyzF1746268014.mp3", "video": ""}, {"text": "In an experiment 39 was the highest number but was mistaken for 93. It will affect which of the following?", "options": [{"label": "A", "text": "Mean will remain same, median will increase", "correct": false}, {"label": "B", "text": "Mean and median both will increase", "correct": false}, {"label": "C", "text": "Mean will increase, median will remain same", "correct": true}, {"label": "D", "text": "Both mean and median will decrease", "correct": false}], "correct_answer": "C. Mean will increase, median will remain same", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C- Mean will increase, <span class=\"customMeta\" data-dictid=\"979385c98a1692777192fb1721a16e\">median</span> will remain th\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BPh7Vg2FC7BdBVkAbr1O1746267742.mp3", "video": ""}, {"text": "Identify the graph below:", "options": [{"label": "A", "text": "Point source single exposure epidemic", "correct": false}, {"label": "B", "text": "Common source, Continuous exposure epidemic", "correct": false}, {"label": "C", "text": "Intermittent Exposure", "correct": false}, {"label": "D", "text": "Propagated epidemic", "correct": true}], "correct_answer": "D. Propagated epidemic", "question_images": ["https://image.prepladder.com/content/x5Bbtw5774Z6R5hPHXmI1692775094.png"], "explanation_images": [], "explanation": "<p>Correct Option D - Propag\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1ZSbqAE8WTESIMdHSGOy1746267243.mp3", "video": ""}, {"text": "No. of live births/1000 women in reproductive age group?", "options": [{"label": "A", "text": "Total fertility rate", "correct": false}, {"label": "B", "text": "General Fertility rate", "correct": true}, {"label": "C", "text": "Net Reproduction Rate", "correct": false}, {"label": "D", "text": "Crude birth Rate", "correct": false}], "correct_answer": "B. General Fertility rate", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - General <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">Fertility</span> R\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/9bCNmKRFA5SFVHNrAHZw1746266788.mp3", "video": ""}, {"text": "In a hospital pharmacy setting, a budget of 50,000 Rs is allocated for the purchase of three types of drugs: 35,000 Rs for A drugs, 10,000 Rs for B drugs, and the remaining amount for C drugs. Which type of analysis is being used in this scenario?", "options": [{"label": "A", "text": "Network Analysis", "correct": false}, {"label": "B", "text": "ABC Analysis", "correct": true}, {"label": "C", "text": "VED Analysis", "correct": false}, {"label": "D", "text": "System Analysis", "correct": false}], "correct_answer": "B. ABC Analysis", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"fac9d822e71692777180f9d788f747\">ABC</span> A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/638SpmIsYwJTj4dx4PLV1746266621.mp3", "video": ""}, {"text": "What does the number 9 in the provided diagram on hypertension represent?", "options": [{"label": "A", "text": "Diagnosed and untreated", "correct": false}, {"label": "B", "text": "Diagnosed and treated", "correct": false}, {"label": "C", "text": "Inadequately treated", "correct": false}, {"label": "D", "text": "Adequately treated", "correct": true}], "correct_answer": "D. Adequately treated", "question_images": ["https://image.prepladder.com/content/coHZHnUTqi6T5nXd0GV01699593216.png"], "explanation_images": ["https://image.prepladder.com/content/9vfIXuTEkeLq9WjsJUaL1699593387.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/WopVwYeBHtVAYZhUaOjN1746266423.mp3", "video": ""}, {"text": "A longitudinal, observational, and analytical study is also known as?", "options": [{"label": "A", "text": "Cross-sectional Study", "correct": false}, {"label": "B", "text": "Cohort Study", "correct": true}, {"label": "C", "text": "Ecological Study", "correct": false}, {"label": "D", "text": "Randomized Control Trial", "correct": false}], "correct_answer": "B. Cohort Study", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Observation Studies</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Experimental/intervential Studies</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Descriptive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Analytical</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Case reports</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ecological studies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Randomised controlled trials</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Case series</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Case-control studies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Field trials</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cohort studies</p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Community trials</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cross-sectional studies</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Match the following columns on Epidemiology Guidelines: A. Care 1. RCT B. Consort 2. Case report C. Prisma 3. Observational study D. Strobe/Moose 4. Systematic Review", "options": [{"label": "A", "text": "A2-B4-C1-D3", "correct": false}, {"label": "B", "text": "A4-B1-C2-D3", "correct": false}, {"label": "C", "text": "A2-B1-C4-D3", "correct": true}, {"label": "D", "text": "A4-B1-C3-D2", "correct": false}], "correct_answer": "C. A2-B1-C4-D3", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Research is being conducted to find the association between aniline dye exposure and bladder cancer in workers who have worked in the industry for &gt;20 years. Two groups were formed: one directly involved with dye handling and the other group consisting of office clerks not directly exposed to the dye. Years of occupation were noted from records. What type of study is being performed?", "options": [{"label": "A", "text": "Retrospective cohort study", "correct": true}, {"label": "B", "text": "Prospective cohort study", "correct": false}, {"label": "C", "text": "Case-control study", "correct": false}, {"label": "D", "text": "Intervention and response", "correct": false}], "correct_answer": "A. Retrospective cohort study", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/9fKd5I5P9trfhK3S4mTi1745909331.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Denominator in incidence rate is?", "options": [{"label": "A", "text": "Total observed population", "correct": false}, {"label": "B", "text": "Total population at risk in a year", "correct": true}, {"label": "C", "text": "Total live births", "correct": false}, {"label": "D", "text": "Total new cases in a year", "correct": false}], "correct_answer": "B. Total population at risk in a year", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Total population at risk\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/JuS4cKCvBIGALBx1ikDC1746267878.mp3", "video": ""}, {"text": "Cross product ratio can be arrived from:", "options": [{"label": "A", "text": "Ecological study", "correct": false}, {"label": "B", "text": "Cohort study", "correct": false}, {"label": "C", "text": "Cross sectional study", "correct": false}, {"label": "D", "text": "Case control study", "correct": true}], "correct_answer": "D. Case control study", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Case-control stu\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Outcome Present (Cases)</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Outcome Absent (Controls)</strong></p>\n</td>\n<td>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\">Exposed</p>\n</td>\n<td>\n<p style=\"text-align: center;\">a</p>\n</td>\n<td>\n<p style=\"text-align: center;\">b</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\">Unexposed</p>\n</td>\n<td>\n<p style=\"text-align: center;\">c</p>\n</td>\n<td>\n<p style=\"text-align: center;\">d</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/XFv9sZvoCjkoXVKb85sq1746258810.mp3", "video": ""}, {"text": "What is the proportion of disease occurrence in the exposed population compared to the non-exposed population?", "options": [{"label": "A", "text": "Attributable risk", "correct": false}, {"label": "B", "text": "Odds ratio", "correct": false}, {"label": "C", "text": "Relative risk", "correct": true}, {"label": "D", "text": "Population attributable risk", "correct": false}], "correct_answer": "C. Relative risk", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Relative risk\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SJH4q4x0ukfCBOvxQ8Nw1746258461.mp3", "video": ""}, {"text": "What is the prevalence of a disease with an average duration of 2 years, when the incidence is 4 per 1000 of the population?", "options": [{"label": "A", "text": "8/100", "correct": false}, {"label": "B", "text": "2/1000", "correct": false}, {"label": "C", "text": "4/1000", "correct": false}, {"label": "D", "text": "8/1000", "correct": true}], "correct_answer": "D. 8/1000", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/aeexBSl2ngpx3RTUEqxP1746258649.mp3", "video": ""}, {"text": "In ecological studies, what is the unit of observation?", "options": [{"label": "A", "text": "Population", "correct": true}, {"label": "B", "text": "Patient", "correct": false}, {"label": "C", "text": "Healthy individuals", "correct": false}, {"label": "D", "text": "Case", "correct": false}], "correct_answer": "A. Population", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Popu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qbh7rTh02dvrZQgJD1HT1746258905.mp3", "video": ""}, {"text": "During the introduction of a novel national health program and policy, the concept of population attributable risk is evaluated. Which of the subsequent statements provides the most accurate explanation of population attributable risk?", "options": [{"label": "A", "text": "Incidence of disease among exposed is so many times higher as compared to that among non-exposed", "correct": false}, {"label": "B", "text": "So much disease can be attributed to exposure", "correct": false}, {"label": "C", "text": "If risk factor is modified or eliminated, there will be so much annual reduction in incidence of disease in the given population", "correct": true}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "C. If risk factor is modified or eliminated, there will be so much annual reduction in incidence of disease in the given population", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - If risk factor is modified or eliminated, there will be so much annual reduction in <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> of disease in the given popu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gFnw0WUfRp61wTB73S2q1746262567.mp3", "video": ""}, {"text": "A research was carried out to evaluate the impact of a treatment for a specific illness. The statistical significance of two comparable studies, A and B, was determined using interventions \"X\" and \"Y\" along with a control group, yielding p-values of 0.02 and 0.001 respectively, at a confidence level of 95%. Initial analysis suggests that the findings could be interpreted as: A. Study B is more precise than study A and intervention Y is more significant compared to Intervention X. B. Study A is more precise than study B and intervention X is more significant compared to intervention. C. Both X and Y show a significant variation, but Study B is more significant than Study A. D. Both study A and B shows a significant variation and both interventions have similar statistical significance.", "options": [{"label": "A", "text": "If A, B and C are correct", "correct": false}, {"label": "B", "text": "If A and C are correct", "correct": true}, {"label": "C", "text": "If B and D are correct", "correct": false}, {"label": "D", "text": "If all (A, B, C and D) are correct", "correct": false}], "correct_answer": "B. If A and C are correct", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - If A and C\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/f8l1G08qT2SIj5voiORb1746269832.mp3", "video": ""}, {"text": "Which of the following measures cannot be taken to eliminate confounding factors?", "options": [{"label": "A", "text": "Randomization", "correct": false}, {"label": "B", "text": "Blinding", "correct": true}, {"label": "C", "text": "Restriction", "correct": false}, {"label": "D", "text": "Matching", "correct": false}], "correct_answer": "B. Blinding", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Blinding\n<table>\n<thead>\n<tr>\n<td colspan=\"2\">\n<p><strong>Explanation</strong></p>\n</td>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\n<p>Randomization</p>\n</td>\n<td>Randomly assigning participants to different groups or treatments to distribute potential <span class=\"customMeta\" data-dictid=\"fe39bb8df416927771849b06e48169\">confounding</span> factors equally</td>\n</tr>\n<tr>\n<td>\n<p>Blinding</p>\n</td>\n<td>Technique to keep participants or researchers unaware of the assigned treatment or intervention</td>\n</tr>\n<tr>\n<td>\n<p>Restriction</p>\n</td>\n<td>Limiting the study population based on certain criteria to minimize potential confounders associated with excluded groups</td>\n</tr>\n<tr>\n<td>\n<p>Matching</p>\n</td>\n<td>Selecting control subjects with similar characteristics to the study group to control the influence of specific <span class=\"customMeta\" data-dictid=\"fe39bb8df416927771849b06e48169\">confounding</span> variables</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ogFsAaWot9iWYh557zMK1746269261.mp3", "video": ""}, {"text": "In India, cause of death is noted by: Sample registration system Census Death declaration &amp; medical certificate Lay reporting", "options": [{"label": "A", "text": "2 &amp; 4 are correct", "correct": false}, {"label": "B", "text": "1&amp; 3 are correct", "correct": false}, {"label": "C", "text": "1,3 &amp; 4 are correct", "correct": true}, {"label": "D", "text": "1,2,3 &amp; 4 are correct", "correct": false}], "correct_answer": "C. 1,3 & 4 are correct", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - 1, 3, and 4\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4zoBTudQWXxa5GL5tUmh1746269419.mp3", "video": ""}, {"text": "Calculate the infant mortality rate of a town with a population of 20,000, based on the following data: In a year, there were a total of 456 births, out of which 56 were stillborn. The total number of deaths was 247, with 56 deaths occurring within 28 days of life, and an additional 34 deaths occurring after 28 days but before completing the first birthday. Calculate the infant mortality rate of the area?", "options": [{"label": "A", "text": "197", "correct": false}, {"label": "B", "text": "392", "correct": false}, {"label": "C", "text": "225", "correct": true}, {"label": "D", "text": "344", "correct": false}], "correct_answer": "C. 225", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - 225\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EgGNa2v59tZUbKCDX6vR1746269063.mp3", "video": ""}, {"text": "Which of the following tests would be suitable for evaluating the blood pressure after treatment in a clinical trial conducted between two groups?", "options": [{"label": "A", "text": "Paired t test", "correct": false}, {"label": "B", "text": "Unpaired t test", "correct": true}, {"label": "C", "text": "ANOVA", "correct": false}, {"label": "D", "text": "Chi-square test", "correct": false}], "correct_answer": "B. Unpaired t test", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B. \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a given community, the typical number of reported dengue cases per week ranges from 40 to 50. However, during the current week, there were 48 reported cases. This situation would be categorized as:", "options": [{"label": "A", "text": "Epidemic", "correct": false}, {"label": "B", "text": "Endemic", "correct": true}, {"label": "C", "text": "Sporadic", "correct": false}, {"label": "D", "text": "Outbreak", "correct": false}], "correct_answer": "B. Endemic", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - E\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/l2r1S1L4sdmk3s5DGCv61746260036.mp3", "video": ""}, {"text": "Phase 1 of a clinical trial is done to test?", "options": [{"label": "A", "text": "Safety", "correct": true}, {"label": "B", "text": "Efficacy", "correct": false}, {"label": "C", "text": "Dose range", "correct": false}, {"label": "D", "text": "Pharmacoeconomics", "correct": false}], "correct_answer": "A. Safety", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - S\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td><strong>Phase 0</strong></td>\n<td>\n<ul>\n<li>Tested on healthy human volunteers</li>\n<li>Done only in up to 10 participants</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Microdosing (1/100th) because higher doses maybe fatal</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td><strong>Phase 1</strong></td>\n<td>\n<ul>\n<li>Tested on healthy human volunteers</li>\n<li>Lasts from months to years (10-100)</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Safety and <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> toxic profile of the drug</li>\n<li>Maximum tolerated dose of a drug ( beyond this dose, adverse effects occur)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td><strong>Phase 2</strong></td>\n<td>\n<ul>\n<li>Tested on patients</li>\n<li>50-500</li>\n<li>Lasts 1-2 years</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Effectiveness and efficacy</li>\n<li>Maximum drug failure seen</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td><strong>Phase 3</strong></td>\n<td>\n<ul>\n<li>Patients can be 500-3000 in number</li>\n<li>This phase lasts 3-5 years</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Comparison with existing drugs</li>\n<li>Randomized controlled trials</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td> </td>\n<td colspan=\"2\" rowspan=\"1\"><strong>Drug is launched after <span class=\"customMeta\" data-dictid=\"5835a765751692777195c32ef7fbec\">phase 3</span> trials</strong></td>\n</tr>\n<tr>\n<td><strong>Phase 4</strong></td>\n<td>\n<ul>\n<li>Also tested on patients</li>\n<li>Study is unending until drug removal</li>\n<li>Longest phase ( at least 10-25 years)</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Monitor long term and rare side effects</li>\n<li>Post market surveillance .</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NyWtcytSKwlmmA3UwNgH1746259882.mp3", "video": ""}, {"text": "Which of the following statements is incorrect in relation to confounding factors?", "options": [{"label": "A", "text": "It can be reduced by matching", "correct": false}, {"label": "B", "text": "It is associated individually with both cause and effect", "correct": false}, {"label": "C", "text": "It is distributed equally in both study and control groups", "correct": true}, {"label": "D", "text": "It is associated with the exposure of the study", "correct": false}], "correct_answer": "C. It is distributed equally in both study and control groups", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - It is distributed equally in both study and control grou\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/aoIB5rINUDzzJ9wa5guA1746258329.mp3", "video": ""}, {"text": "Incidence is best measure by:", "options": [{"label": "A", "text": "Cross sectional study", "correct": false}, {"label": "B", "text": "Cohort study", "correct": true}, {"label": "C", "text": "Case control study", "correct": false}, {"label": "D", "text": "Double blind study", "correct": false}], "correct_answer": "B. Cohort study", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"dbb5ff6b6c1692777184160220ac92\">Cohort</span> stu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dRVrc9GwpJPGYUCIv6Vx1746260266.mp3", "video": ""}, {"text": "Which of the following is true about Quarantine ?", "options": [{"label": "A", "text": "Restriction of movement of Infected patient", "correct": false}, {"label": "B", "text": "Restriction of movement of healthy contact of an infectious disease", "correct": true}, {"label": "C", "text": "Movement restricted for shortest incubation period", "correct": false}, {"label": "D", "text": "Isolation of diseased person", "correct": false}], "correct_answer": "B. Restriction of movement of healthy contact of an infectious disease", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Restriction of movement of healthy contact of an <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span&g\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Isolation</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Quarantine</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Cases</p>\n</td>\n<td>\n<p>Healthy contact</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>For the period of communicability or transmissibility of disease or till the person recovers</p>\n</td>\n<td>\n<p>For the longest <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period of the disease (Absolute quarantine)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Secondary level of prevention</p>\n</td>\n<td>\n<p>Primary level of prevention</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5AzSKPrqh5O2s24RJDqc1746260470.mp3", "video": ""}, {"text": "What is the relationship between incidence and prevalence in a disease with 100% mortality rate?", "options": [{"label": "A", "text": "P = I", "correct": false}, {"label": "B", "text": "P &lt; I", "correct": true}, {"label": "C", "text": "P &gt; I", "correct": false}, {"label": "D", "text": "No relationship between both", "correct": false}], "correct_answer": "B. P < I", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B- P &lt; I\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Relationship</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Interpretation</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Mortality > Incidence</p>\n</td>\n<td>\n<p>High case fatality rate; a significant proportion of cases result in death; <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> may be lower than incidence</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Mortality < Incidence</p>\n</td>\n<td>\n<p>Lower case fatality rate; a significant proportion of cases survive; <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> may be higher than incidence</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Mortality = Incidence</p>\n</td>\n<td>\n<p>Steady state in the population; number of new cases balances the number of deaths; <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> remains relatively stable</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/POXM6vdyIGwcVeNvkQpQ1746254570.mp3", "video": ""}, {"text": "What does the numerator of perinatal mortality rate consist of?", "options": [{"label": "A", "text": "Post-neonatal period death", "correct": false}, {"label": "B", "text": "Early neonatal death of fetus &gt; 1000 g", "correct": true}, {"label": "C", "text": "Stillbirth of fetus &lt; 500 g", "correct": false}, {"label": "D", "text": "Abortion after 16 weeks", "correct": false}], "correct_answer": "B. Early neonatal death of fetus > 1000 g", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TkbLBvY8pqEfmRq0bfAg1746270074.mp3", "video": ""}, {"text": "A study was done to assess the risk factors for breast cancer in 100 females from urban cities. A statistical group and analysis are shown below. The values indicate the odds ratio and the 95% confidence interval . How many risk factors may be ascertained from the statistical analysis of the research?", "options": [{"label": "A", "text": "3", "correct": false}, {"label": "B", "text": "4", "correct": false}, {"label": "C", "text": "5", "correct": true}, {"label": "D", "text": "6", "correct": false}], "correct_answer": "C. 5", "question_images": ["https://image.prepladder.com/content/mQDzONyMEmU09k74Pi2s1688465061.png"], "explanation_images": [], "explanation": "<p>Correct Option C - 5\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/lp6ymLqSx6sizyK7R5u01746270262.mp3", "video": ""}, {"text": "Doll and hills is an example of?", "options": [{"label": "A", "text": "Prospective Cohort", "correct": true}, {"label": "B", "text": "Ambispective Cohort", "correct": false}, {"label": "C", "text": "Case control", "correct": false}, {"label": "D", "text": "Cross sectional", "correct": false}], "correct_answer": "A. Prospective Cohort", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/73sa1771FvF0lo5erm2M1712923078.png"], "explanation": "\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>\n<p><strong>Framingham heart study</strong></p>\n<p><img src=\"https://image.prepladder.com/content/73sa1771FvF0lo5erm2M1712923078.png\" style=\"height:300px; width:294px\"/></p>\n</td>\n<td>\n<ul>\n<li>Largest <span class=\"customMeta\" data-dictid=\"22b453f7d01692777196953a3c9dd0\">prospective</span> <span class=\"customMeta\" data-dictid=\"dbb5ff6b6c1692777184160220ac92\">cohort</span> study. </li>\n<li>Study- Risk factors on <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> diseases.</li>\n<li>Outcomes are observed every 2 years.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td><strong>Dolls and Hills study on lung cancer</strong></td>\n<td>\n<ul>\n<li>Studies effect of smoking on Lung cancer.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td><strong>Royal College of General Practitioners</strong></td>\n<td>\n<ul>\n<li>Study of oral contraceptives and health</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/P0XzQrIJQRzWe8DCMx6Q1746266242.mp3", "video": ""}, {"text": "During a study, one group (group A) was administered a placebo, while another group (group B) was given a new medication. In group A, 36 out of 120 patients died, whereas in group B, 26 out of 130 patients died. How many patients need to be treated in order to prevent one death?", "options": [{"label": "A", "text": "100", "correct": false}, {"label": "B", "text": "10", "correct": true}, {"label": "C", "text": "250", "correct": false}, {"label": "D", "text": "160", "correct": false}], "correct_answer": "B. 10", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/QQJCPqv9yHonE53HtT8i1746270425.mp3", "video": ""}, {"text": "The bone marrow density along with the gestational age is plotted from two different studies. Which of the following is true for the relation between bone marrow density and gestational age?", "options": [{"label": "A", "text": "Strength of correlation is same in A and B", "correct": false}, {"label": "B", "text": "Strength of the correlation is more in A than in B", "correct": true}, {"label": "C", "text": "Strength of the variation is more in B than A", "correct": false}, {"label": "D", "text": "Variation in variables is more with A than B", "correct": false}], "correct_answer": "B. Strength of the correlation is more in A than in B", "question_images": ["https://image.prepladder.com/content/BqvwbfxNZGKETpxDcNAa1688463367.png", "https://image.prepladder.com/content/drdE7tWlZkrY5tpFUjzJ1688463855.png"], "explanation_images": [], "explanation": "<p>Correct Option B - Strength of the correlation is more in A than in B\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/G2ND6UOQSeg9jED8klDB1746265591.mp3", "video": ""}, {"text": "What is the primary factor responsible for the demographic burden?", "options": [{"label": "A", "text": "Decreased old age dependency ratio", "correct": false}, {"label": "B", "text": "Increased young age dependency ratio", "correct": false}, {"label": "C", "text": "Decreased young age dependency ratio", "correct": false}, {"label": "D", "text": "Increased old age dependency ratio", "correct": true}], "correct_answer": "D. Increased old age dependency ratio", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/UHJ3wNBg1bqvX9dKfLTV1746252073.mp3", "video": ""}, {"text": "What is the term used to describe the number of maternal deaths per 100,000 live births ?", "options": [{"label": "A", "text": "Maternal mortality rate", "correct": false}, {"label": "B", "text": "Maternal mortality ratio", "correct": true}, {"label": "C", "text": "Infant mortality rate", "correct": false}, {"label": "D", "text": "Perinatal mortality rate", "correct": false}], "correct_answer": "B. Maternal mortality ratio", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wDnIScgas9yE5D21Rm0N1746251941.mp3", "video": ""}, {"text": "What is the method used to assess the relative risk (RR)?", "options": [{"label": "A", "text": "Case control study", "correct": false}, {"label": "B", "text": "Cohort study", "correct": true}, {"label": "C", "text": "Randomized controlled trial", "correct": false}, {"label": "D", "text": "Cross-sectional study", "correct": false}], "correct_answer": "B. Cohort study", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"dbb5ff6b6c1692777184160220ac92\">Cohort</span> Stu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yrjMKHwymoLYMkn4LgsD1746251809.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 79 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Diseases that follow seasonal trend are?", "options": [{"label": "A", "text": "Varicella", "correct": false}, {"label": "B", "text": "Cerebro-spinal meningitis", "correct": false}, {"label": "C", "text": "Rubella", "correct": false}, {"label": "D", "text": "All of the above", "correct": true}], "correct_answer": "D. All of the above", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Cyclical trends</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Seasonal trends</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They occur in cycles spread over short periods of time.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cycles are associated with seasons.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Examples:</p>\n<ul>\n<li>Measles: every 2-3 years.</li>\n<li>Rubella: every 6-9 years.</li>\n<li>Influenza: every 7-10 years.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Examples:</p>\n<ul>\n<li>Measles.</li>\n<li>Varicella.</li>\n<li>Cerebro-spinal meningitis.</li>\n<li>Upper <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> <span class=\"customMeta\" data-dictid=\"1a1307223f16927772017a994bfc39\">tract</span> infections.</li>\n<li>Malaria.</li>\n<li>Sunstroke.</li>\n<li>Hay fever.</li>\n<li>Snakebite.</li>\n<li>Rubella</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is an ecological fallacy or an ecological bias?", "options": [{"label": "A", "text": "Associations observed at the group level may not hold true at the individual level.", "correct": true}, {"label": "B", "text": "Associations observed at an individual level may not hold true at the group level.", "correct": false}, {"label": "C", "text": "Associations observed at a group level will apply to individual levels.", "correct": false}, {"label": "D", "text": "Associations at the group level and individual levels are opposite to each other.", "correct": false}], "correct_answer": "A. Associations observed at the group level may not hold true at the individual level.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/zeQM8aXF0mTHgefNMNPf1726477721.mp3", "video": ""}, {"text": "Among the following statements, which is true regarding ecological study designs?", "options": [{"label": "A", "text": "It is expensive", "correct": false}, {"label": "B", "text": "Analysis at a population level", "correct": true}, {"label": "C", "text": "Associations observed at the group level always hold true at the individual level", "correct": false}, {"label": "D", "text": "Complex study model", "correct": false}], "correct_answer": "B. Analysis at a population level", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Definition</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>It analyses associations between variables at the group or population level by using secondary data.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Strengths</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Simple and cost-effective.</li>\n<li>It can suggest potential cause-effect relationships.</li>\n<li>Useful for studying large populations and trends over time.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Limitations</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Ecological Fallacy: Associations observed at the group level may not hold true at the individual level.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Examples</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Study correlating average dietary fat consumption with breast cancer <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> across 20 developed countries.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LDQy2yQpmEmUkCl8xhUO1726477826.mp3", "video": ""}, {"text": "Which of the following studies takes repeated observations from a population via follow-ups?", "options": [{"label": "A", "text": "Cross-sectional", "correct": false}, {"label": "B", "text": "Longitudinal", "correct": true}, {"label": "C", "text": "Both", "correct": false}, {"label": "D", "text": "None", "correct": false}], "correct_answer": "B. Longitudinal", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Longitudinal studies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Cross-sectional studies</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Observations are repeated using follow-ups in a population.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Observations are done only once in the population.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They are carried over a long period of time (minimum one year).</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They are carried over a given point/period of time.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It helps to discover the occurrence of new cases (Incidence rate).</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It helps to discover the existence of both old and new cases (Prevalence rate).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It helps to study the natural history of the disease and the risk factors.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>They do not help to study the natural history of the disease and the risk factors.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It is time-consuming, difficult, and costly.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It is not time-consuming, not difficult, and cheap.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/VxBfgVssoht84eaiS3cb1726477892.mp3", "video": ""}, {"text": "All of the following statements regarding cross-sectional study are true except?", "options": [{"label": "A", "text": "Observations are done only once", "correct": false}, {"label": "B", "text": "This is cheap and not time-consuming", "correct": false}, {"label": "C", "text": "Does help to study the natural history of disease", "correct": true}, {"label": "D", "text": "Carried over a given point of time or period of time", "correct": false}], "correct_answer": "C. Does help to study the natural history of disease", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ol0VenDt6PFTQGIL5Jy01726478319.mp3", "video": ""}, {"text": "In a population of 1000 individuals, 200 develop oral cancers over a 10-year period. Among the total population, 100 are regular tobacco users, from which 60 developed oral cancers. Calculate the Population Attributable Risk (PAR) of oral cancers due to tobacco use in this population.", "options": [{"label": "A", "text": "76%", "correct": false}, {"label": "B", "text": "42%", "correct": false}, {"label": "C", "text": "38%", "correct": false}, {"label": "D", "text": "22%", "correct": true}], "correct_answer": "D. 22%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/GqcaxF2e1oVXDAv9qqK81734086440.png", "https://image.prepladder.com/content/bpkXFHhcSU3DAegR963l1734086447.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Tobacco user</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>No </strong><strong>Tobacco </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Total</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease Present</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>60</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>140</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>200</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease Absent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>760</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>800</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Total</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>900</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1000</p>\n</td>\n</tr>\n</tbody>\n\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Odds ratio (OR)</strong> <strong>=</strong> (odds of exposure among cases) / (odds of exposure among controls)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Relative Risk (RR) = </strong>Incidence (exposed) / <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> (unexposed)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p> </p>\n<p><strong>Attributable Risk (AR) =</strong> <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> (unexposed) - <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> (exposed) / <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> (unexposed)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Population <span class=\"customMeta\" data-dictid=\"6b098d6cd41692777182423b829c64\">Attributable Risk</span> (PAR) = </strong>Incidence (total) - <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> (unexposed) / <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> (total)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EMB5wmMOFXtXge5HWjom1726478544.mp3", "video": ""}, {"text": "In a study of 500 children, 200 were vaccinated against measles, and 300 were not. Out of the 200 vaccinated children, 10 developed measles. Among the 300 unvaccinated children, 90 developed measles. Calculate the attributable risk of developing measles due to lack of vaccination.", "options": [{"label": "A", "text": "0.83", "correct": true}, {"label": "B", "text": "0.75", "correct": false}, {"label": "C", "text": "0.64", "correct": false}, {"label": "D", "text": "0.25", "correct": false}], "correct_answer": "A. 0.83", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/bpafeB8hRtlofil7KhFO1734086326.png", "https://image.prepladder.com/content/xLBJJBCp8tJcJOKpiQyw1734086335.png", "https://image.prepladder.com/content/8NaRoTghtWcLVR9UQtwt1734086343.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Vaccinated</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Not Vaccinated</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Total</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease Present</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>90</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease Absent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>190</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>210</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>400</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Total</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>200</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>300</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>500</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Hm7zdu37LeyyDzTMfK5s1726478670.mp3", "video": ""}, {"text": "A study was conducted over 10 years to evaluate the risk of mesothelioma among people working in the ship-based industry. The study included 200 workers exposed to asbestos and 300 workers not exposed to asbestos. Among those exposed, 40 developed mesothelioma and died at the terminal stage, while only 5 of the unexposed group developed mesothelioma and died. What is the relative risk of developing mesothelioma and dying for workers exposed to asbestos compared to those not exposed?", "options": [{"label": "A", "text": "12.00", "correct": true}, {"label": "B", "text": "3.33", "correct": false}, {"label": "C", "text": "6.00", "correct": false}, {"label": "D", "text": "2.00", "correct": false}], "correct_answer": "A. 12.00", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/VpERycPVzbvqAY1CqS7u1734086240.png", "https://image.prepladder.com/content/TqeAqmr97HVQhQBtMoRk1734086252.png", "https://image.prepladder.com/content/dAD113Jv9Mp06EuhQBPY1734086261.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Exposed to Asbestos</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Not Exposed to Asbestos</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Total</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mesothelioma</strong></p>\n<p><strong>(Disease Present)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>45</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>No <span class=\"customMeta\" data-dictid=\"9f56633f181692777192f07ed38b1a\">Mesothelioma</span> </strong></p>\n<p><strong>(Disease Absent)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>160</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>295</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>455</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Total</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>200</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>300</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>500</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LYszF6j1XCGhIPJS4kse1726479167.mp3", "video": ""}, {"text": "A community health department has noted rising cirrhosis cases. To investigate if alcohol consumption is a risk factor, what study design should health workers use?", "options": [{"label": "A", "text": "Cross-Sectional Study", "correct": false}, {"label": "B", "text": "Case-Control Study", "correct": false}, {"label": "C", "text": "Cohort Study", "correct": true}, {"label": "D", "text": "Randomised Controlled Trial", "correct": false}], "correct_answer": "C. Cohort Study", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Z5cmRXgITgv3nYipUMQ71726478947.mp3", "video": ""}, {"text": "Which of the following is true regarding the cross-product ratio?", "options": [{"label": "A", "text": "It is also known as the incidence rate.", "correct": false}, {"label": "B", "text": "It measures the relative risk in cohort studies.", "correct": false}, {"label": "C", "text": "It provides an estimation of disease risk associated with exposure.", "correct": true}, {"label": "D", "text": "A value of &gt; 1 indicates an inverse association or protective factor", "correct": false}], "correct_answer": "C. It provides an estimation of disease risk associated with exposure.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>OR > 1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Positive association or possible risk factor</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>OR = 1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No association</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>OR < 1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Negative association, <span class=\"customMeta\" data-dictid=\"459918ac4616927771903ea16da4c9\">inverse</span> association, or protective factor</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/f6EqulNOHMRUInJRJGQ01726479233.mp3", "video": ""}, {"text": "Below is a graphical representation of the odds ratio (OR) and risk ratio (RR) for various incidence rates. Which of the following is false?", "options": [{"label": "A", "text": "As RR increases, OR increases at a higher rate for all incidence rates", "correct": false}, {"label": "B", "text": "OR always underestimates the RR", "correct": true}, {"label": "C", "text": "The yellow line represents a much larger OR than the RR", "correct": false}, {"label": "D", "text": "The pink line represents a lower incidence rate.", "correct": false}], "correct_answer": "B. OR always underestimates the RR", "question_images": ["https://image.prepladder.com/content/x8pYa6JozE49Q0HCUorN1734086176.png"], "explanation_images": ["https://image.prepladder.com/content/bjYpHXaQAaj2Lc9qpHgH1734086181.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EnMonDBwqXO6jmMj5zhe1746272941.mp3", "video": ""}, {"text": "To investigate the association between high cholesterol levels and the development of hypertension, researchers collected data from 100 patients with hypertension and 210 patients without disease. 60 patients had high cholesterol levels in the hypertensive group, while 30 patients had high cholesterol levels in the non-hypertensive group. What are the odds of having high cholesterol levels in hypertensive patients?", "options": [{"label": "A", "text": "4.0", "correct": false}, {"label": "B", "text": "1.5", "correct": false}, {"label": "C", "text": "9.0", "correct": true}, {"label": "D", "text": "0.25", "correct": false}], "correct_answer": "C. 9.0", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Risk Factor/Exposure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>High cholesterol</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Low cholesterol</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hypertension</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>60 (a)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40 (b)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No hypertension</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30 (c)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>180 (d)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mAO7SxwBEgb2dj4wRBo01746272802.mp3", "video": ""}, {"text": "A research team conducts a study to investigate the association between smoking and bladder cancer. They select a group of patients with and without bladder cancer and compare their smoking history. Which of the following best describes the significance of the study in this scenario?", "options": [{"label": "A", "text": "It allows for the determination of the incidence of bladder cancer among smokers and non-smokers.", "correct": false}, {"label": "B", "text": "It helps to establish a temporal relationship between smoking and bladder cancer.", "correct": false}, {"label": "C", "text": "It is a cost-effective and efficient way to study the association between smoking and bladder cancer.", "correct": true}, {"label": "D", "text": "It can be used to follow patients over time to observe the development of bladder cancer.", "correct": false}], "correct_answer": "C. It is a cost-effective and efficient way to study the association between smoking and bladder cancer.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Case-Control Study</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cohort Study</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Compares individuals with a disease (cases) to those without (controls)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Follows a group (cohort) over time to see who develops the disease.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Study Design</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Retrospective or prospective.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prospective (or <span class=\"customMeta\" data-dictid=\"7b9b60f7e016927771978a4311da4f\">retrospective</span> in some designs).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Data Collection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Usually relies on existing records or interviews</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Collects data over time, often with direct measurements.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Population</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Starts with disease status (cases vs. controls)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Starts with exposure status (exposed vs. unexposed).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>- Quick and inexpensive.</p>\n<p>- Useful for rare diseases.</p>\n<p>- Can study multiple exposures.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>- Can establish <span class=\"customMeta\" data-dictid=\"637ea4d17516927772003be2b2aae4\">temporal</span> relationships.</p>\n<p>- Useful for studying multiple outcomes.</p>\n<p>- Less bias in exposure measurement</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>- <span class=\"customMeta\" data-dictid=\"607476ab371692777196d0cb2f13bc\">Prone</span> to recall bias.</p>\n<p>- Cannot directly measure incidence.</p>\n<p>- <span class=\"customMeta\" data-dictid=\"88261f221b169277719869abab319a\">Selection bias</span> may occur.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>- Time-consuming and expensive.</p>\n<p>- Requires large sample sizes.</p>\n<p>- Loss to follow-up can affect results.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2wg9BLFUHqae2Z3rrwSs1726479062.mp3", "video": ""}, {"text": "To investigate the relationship between hormone replacement therapy (HRT) and breast cancer, researchers conducted a study where they selected patients with breast cancer from an ongoing cohort study and compared HRT usage among cancer-free women from the same cohort. What type of study design does this scenario indicate?", "options": [{"label": "A", "text": "Cohort study", "correct": false}, {"label": "B", "text": "Case-control study", "correct": false}, {"label": "C", "text": "Nested case-control study", "correct": true}, {"label": "D", "text": "Cross-sectional study", "correct": false}], "correct_answer": "C. Nested case-control study", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dVVzfqktrLivCdKcN4ZQ1726478865.mp3", "video": ""}, {"text": "The following are some steps taken to investigate an epidemic. Arrange the steps in the correct sequence. Verification of the diagnosis. Define the population at risk. Data analysis. Confirmation of the existence of an epidemic. Evaluation of ecological factors. Testing of hypothesis.", "options": [{"label": "A", "text": "1, 4, 2, 3, 6, 5", "correct": true}, {"label": "B", "text": "4, 1, 2, 3, 6, 5", "correct": false}, {"label": "C", "text": "1, 2, 3, 4, 5, 6", "correct": false}, {"label": "D", "text": "4, 1, 3, 6, 2, 5", "correct": false}], "correct_answer": "A. 1, 4, 2, 3, 6, 5", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Steps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Salient points</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Verification of diagnosis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Most important step</li>\n<li>Examination of a sample of cases and verify the diagnosis</li>\n<li>To avoid a <span class=\"customMeta\" data-dictid=\"8700db0ae4169277719988f170583c\">spurious</span> diagnosis based on signs and symptoms.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Confirmation of the existence of an epidemic</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Compare data collected with the previous year's data.</li>\n<li>Epidemic:\n\t\t\t\t<ul>\n<li>Occurrence > 2 S.D.</li>\n<li>The cases occur at over 80% of the expected frequency.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Defining the population at risk</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Obtain a map of the area affected.</li>\n<li>A house-to-house survey is done to find the entire population at risk.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rapid search for all cases and their characteristics</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Medical survey.</li>\n<li>Epidemiological case sheet.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Data analysis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Done in terms of Time, Place and person</li>\n<li>Try to identify the type of epidemic by drawing the epidemic curve.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Formulation of hypothesis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>It contains information about the agent, host, environment, modes of transmission, etc.</li>\n<li>Formulation of a hypothesis is the work of descriptive epidemiology.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Testing of hypothesis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>First step: Case-control study.</li>\n</ul>\n<ul>\n<li>Second step: Plan a <span class=\"customMeta\" data-dictid=\"dbb5ff6b6c1692777184160220ac92\">cohort</span> study to compare the attack rates in exposed vs non-exposed groups.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>8</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Evaluation of ecological factors</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Effect of humidity.</li>\n<li>Effect of <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> conditions.</li>\n<li>Effect of water supply.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>9</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Further investigation of the population at risk</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Keep looking for any other population that is at risk.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Writing the report</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>To provide a strategy at the end.</li>\n<li>Prevent future occurrences.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FtZSJKLXcaYhaknlyyeC1726478734.mp3", "video": ""}, {"text": "Which of the following is true about secular trends?", "options": [{"label": "A", "text": "A roadside accident is a good example.", "correct": false}, {"label": "B", "text": "It is due to environmental factors.", "correct": false}, {"label": "C", "text": "This is due to the commonly occurring variation in herd immunity.", "correct": false}, {"label": "D", "text": "Consistent change in a particular direction over a period of time.", "correct": true}], "correct_answer": "D. Consistent change in a particular direction over a period of time.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/G2M8x3VaL65eJ7WdejdV1726477627.mp3", "video": ""}, {"text": "Study designs are used for which of the following purposes?", "options": [{"label": "A", "text": "Formulating a hypothesis", "correct": false}, {"label": "B", "text": "Testing a hypothesis", "correct": false}, {"label": "C", "text": "Confirming a hypothesis", "correct": false}, {"label": "D", "text": "All of the above", "correct": true}], "correct_answer": "D. All of the above", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Formulation of a hypothesis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">A hypothesis is formulated when no knowledge about a new disease exists. Descriptive epidemiology, which focuses on time, place, and person, helps in these cases. For instance, early in the <span class=\"customMeta\" data-dictid=\"2d364aeaf7169277718529fa58f6ea\">COVID-19</span> outbreak, it was hypothesised as a type of pneumonia.</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Testing a hypothesis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">Testing addresses how and why a disease occurs and is a key aspect of Analytical epidemiology. Eg; comparing individuals with <span class=\"customMeta\" data-dictid=\"2d364aeaf7169277718529fa58f6ea\">COVID-19</span> to those without it to understand the disease better.</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Confirmation of a hypothesis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">The disease is confirmed through Experimental or Interventional epidemiology. Eg; once <span class=\"customMeta\" data-dictid=\"2d364aeaf7169277718529fa58f6ea\">COVID-19</span> was confirmed, vaccines and treatments were developed</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/czuke9Dp61DoBYiUWDL81726234148.mp3", "video": ""}, {"text": "What is the image given below used for?", "options": [{"label": "A", "text": "Local distribution of a disease", "correct": true}, {"label": "B", "text": "Rural-urban variation", "correct": false}, {"label": "C", "text": "National variation", "correct": false}, {"label": "D", "text": "Migration studies", "correct": false}], "correct_answer": "A. Local distribution of a disease", "question_images": ["https://image.prepladder.com/content/pyU50ifwOrLz8PZoeMWK1725020222.png"], "explanation_images": [], "explanation": "\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>International variation</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Comparisons of disease incidence, prevalence, and patterns between different countries.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>National variation</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Study disease patterns within a single country, observing differences across regions or states.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rural-urban variation</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Comparisons of disease <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> and <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> between rural and urban areas within a country.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Local distribution</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detailed examination of disease patterns within small areas, such as specific neighbourhoods or districts.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/piHwlGWVn55RHNrPg9WA1726477116.mp3", "video": ""}, {"text": "Which of the following best describes ‘person distribution’ in descriptive epidemiology?", "options": [{"label": "A", "text": "The distribution of people across an area under study.", "correct": false}, {"label": "B", "text": "The population's disease analysis is based on the characteristics of the people who develop them.", "correct": true}, {"label": "C", "text": "Distribution of human resources to various tasks of the study.", "correct": false}, {"label": "D", "text": "Distribution of residents within different neighbourhoods or urban areas.", "correct": false}], "correct_answer": "B. The population's disease analysis is based on the characteristics of the people who develop them.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/455r75S7CFf6owoDrqgf1726477029.mp3", "video": ""}, {"text": "Which of the following statements best describes a propagated epidemic?", "options": [{"label": "A", "text": "It is typically caused by a single brief and simultaneous exposure to a common source.", "correct": false}, {"label": "B", "text": "It shows an epidemic curve with one peak that rises and falls rapidly with no secondary waves.", "correct": false}, {"label": "C", "text": "Transmission occurs gradually through person-to-person transmission, rising and tailing off in the epidemic curve.", "correct": true}, {"label": "D", "text": "A propagated epidemic can only occur if the disease has a short incubation period.", "correct": false}], "correct_answer": "C. Transmission occurs gradually through person-to-person transmission, rising and tailing off in the epidemic curve.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NQEvext2kIw8HJDBz7Zq1726476851.mp3", "video": ""}, {"text": "Which of the following is not a characteristic of a common source epidemic with a single exposure?", "options": [{"label": "A", "text": "The epidemic curve shows a rapid increase and decrease in cases.", "correct": false}, {"label": "B", "text": "Cases are spread across multiple incubation periods of the disease.", "correct": true}, {"label": "C", "text": "The epidemic often appears as an explosive outbreak with cases clustered quickly.", "correct": false}, {"label": "D", "text": "Most cases occur within a single incubation period of the disease.", "correct": false}], "correct_answer": "B. Cases are spread across multiple incubation periods of the disease.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/xSZY7RjRR2xFUlK0P08B1734086041.png", "https://image.prepladder.com/content/PNjmqrNiPqLG46dykRtw1725019774.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Properties</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Point source or single exposure epidemic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Continuous or repeated exposure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Intermittent exposure</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Exposure Timing</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Brief and simultaneous</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prolonged, continuous, repeated, or intermittent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Intermittent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incubation Period</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>All cases develop within one <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cases develop over multiple <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> periods <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Unrelated to the <span class=\"customMeta\" data-dictid=\"78e661328b1692777190280365ea89\">incubation</span> period</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Epidemic Curve</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Single peak; rises and falls rapidly <strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Extended or <span class=\"customMeta\" data-dictid=\"863f5457381692777190f05632a8b2\">irregular</span> curve</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Multiple peaks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Explosiveness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Explosive with rapid clustering of cases <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No <span class=\"customMeta\" data-dictid=\"dd9858c0bf1692777187ed886e9735\">explosive</span> rise in cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Secondary waves</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>None</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>May continue without clear secondary waves</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease Agent Source</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Often due to a single <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent or contaminant</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prolonged or repeated exposure to an <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent or contaminant</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Food poisoning.</li>\n<li>Industrial <span class=\"customMeta\" data-dictid=\"22b9188ade169277718581ce9dc589\">contamination</span> (e.g., Bhopal gas tragedy, Minamata disease)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Contaminated water source.</li>\n<li>Continuous exposure to pollutants.</li>\n<li>Prolonged outbreaks (Legionnaires disease)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Contaminated food or tinned product which is sold over a period of time.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/IEv9IDUWgvIjrNcMMkNQ1726476420.mp3", "video": ""}, {"text": "Which of the following correctly distinguishes between hyperendemic and holoendemic diseases with appropriate examples?", "options": [{"label": "A", "text": "Hyperendemic- Malaria in sub-Saharan Africa Holoendemic- Common cold worldwide", "correct": false}, {"label": "B", "text": "Hyperendemic- Influenza during winter in temperate regions Holoendemic- Malaria in sub-Saharan Africa", "correct": true}, {"label": "C", "text": "Hyperendemic- Tuberculosis in urban areas Holoendemic- Seasonal influenza", "correct": false}, {"label": "D", "text": "Hyperendemic- Malaria in sub-Saharan Africa Holoendemic- Influenza during winter in temperate regions", "correct": false}], "correct_answer": "B. Hyperendemic- Influenza during winter in temperate regions Holoendemic- Malaria in sub-Saharan Africa", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/1JwO021KI874rYdFQqjV1725019238.png", "https://image.prepladder.com/content/ibzCclQi1iAHcpXaJLgU1725019305.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/brFLUfv0k9w1s93m2wNu1726476294.mp3", "video": ""}, {"text": "Match the following terms related to disease distribution with their appropriate examples: Term Example i) Endemic a) A sudden surge in influenza cases during the winter months. ii) Epidemic b) The persistent occurrence of malaria in certain regions of Africa. iii) Pandemic c) Isolated instances of tetanus infection with no discernible pattern. iv) Sporadic d) The global spread of COVID-19 affecting multiple continents.", "options": [{"label": "A", "text": "i-b, ii-a, iii-d, iv-c", "correct": true}, {"label": "B", "text": "i-a, ii-b, iii-d, iv-c", "correct": false}, {"label": "C", "text": "i-c, ii-d, iii-a, iv-b", "correct": false}, {"label": "D", "text": "i-d, ii-c, iii-a, iv-b", "correct": false}], "correct_answer": "A. i-b, ii-a, iii-d, iv-c", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:662px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Term</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Epidemic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Occurrence of disease clearly in <span class=\"customMeta\" data-dictid=\"7a1ae24f701692777187a7f60bbd9f\">excess</span> of normal <span class=\"customMeta\" data-dictid=\"9332897b901692777187ae9cd44351\">expectancy</span> (Mean + 2SD or >80% expected frequency).</li>\n<li>Occurrence of even a single case of a previously eliminated disease.</li>\n<li>Occurrence of a single case of an exotic disease.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Seasonal <span class=\"customMeta\" data-dictid=\"c3817918b816927771902d2176d0c8\">influenza</span> outbreaks during winter months.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Endemic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Constant presence of a disease within a specific population.</li>\n<li>Epidemiologically <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> cases in terms of time, place, or person.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Malaria in Africa, TB in India</p>\n<p style=\"text-align:center\"> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pandemic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Global spread of a disease.</li>\n<li>Defined as an epidemic in a large population.</li>\n<li>Requires crossing 2 continents and 2 WHO-specific regions.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HIV/AIDS, COVID-19.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sporadic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>They occur randomly and unpredictably, without any discernible pattern in time, location, or individual.</li>\n<li>There's no epidemiological link between the cases.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tetanus</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/07Jq8oW5Lre0mkWh0L6E1726235331.mp3", "video": ""}, {"text": "A public health researcher is investigating the association between air pollution and asthma in children. The researcher collects data from a population over several years, documenting the levels of air pollution and the incidence of new asthma cases. Which of the following best describes the study design?", "options": [{"label": "A", "text": "Interventional study", "correct": false}, {"label": "B", "text": "Analytical Study - Cohort", "correct": true}, {"label": "C", "text": "Descriptive Study", "correct": false}, {"label": "D", "text": "Analytical Study - Case Control", "correct": false}], "correct_answer": "B. Analytical Study - Cohort", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>OBSERVATIONAL STUDIES</strong></p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>EXPERIMENTAL/INTERVENTIONAL STUDIES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Descriptive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Analytical</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Case reports</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ecological studies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Randomised controlled trials</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Case series</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Case-control studies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Field trials</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cohort studies</p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Community trials</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cross-sectional studies</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/T23w1IkAwWVSUcm7vDwN1726235209.mp3", "video": ""}, {"text": "What is the first step in determining a descriptive study design?", "options": [{"label": "A", "text": "Defining the disease under study", "correct": false}, {"label": "B", "text": "Defining the population of interest", "correct": true}, {"label": "C", "text": "Describe the disease in terms of time, place, and person", "correct": false}, {"label": "D", "text": "Formulate a hypothesis", "correct": false}], "correct_answer": "B. Defining the population of interest", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:99px\">\n<p>Step 1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:525px\">\n<p>Defining the population of interest is the first step in descriptive study design, i.e. the socio-demographic profiling of the population. For a population to be a part of a descriptive study design, it has to be:</p>\n<ul>\n<li>Stable.</li>\n<li>No migration</li>\n<li>Community participation: A sample of the population should represent the entire population</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:99px\">\n<p>Step 2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:525px\">\n<p>Define the disease under study <strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:99px\">\n<p>Step 3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:525px\">\n<p>Describe the disease in terms of time, place, and person <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:99px\">\n<p>Step 4</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:525px\">\n<p>Measure the disease, i.e. health indicators such as mortality, <span class=\"customMeta\" data-dictid=\"9b7604d5461692777192546af7cabd\">morbidity</span> and disability rates.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:99px\">\n<p>Step 5</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:525px\">\n<p>Compare with known indices.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:99px\">\n<p>Step 6</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:525px\">\n<p>Formulate a hypothesis<strong> (Option D)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BVKM6wb1nsFzbE3XVXv01726235096.mp3", "video": ""}, {"text": "Which of the following statements is FALSE regarding descriptive epidemiology?", "options": [{"label": "A", "text": "It is a study of the distribution of disease w.r.t. time, place, and person", "correct": false}, {"label": "B", "text": "It tests a hypothesis", "correct": true}, {"label": "C", "text": "It is the first phase of epidemiological investigation", "correct": false}, {"label": "D", "text": "Descriptive epidemiology does not involve a comparison group", "correct": false}], "correct_answer": "B. It tests a hypothesis", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/oP4s1NlSYoDmg3rIwbsU1726235020.mp3", "video": ""}, {"text": "A researcher is interested in examining the prevalence of hypertension among adults in a city and wants to identify any associated risk factors such as age, diet, and physical activity at a single time. The researcher collects data from a large sample of adults in the city. Which type of study design is the researcher using in this scenario?", "options": [{"label": "A", "text": "Cohort study", "correct": false}, {"label": "B", "text": "Cross-sectional study", "correct": true}, {"label": "C", "text": "Case-control study", "correct": false}, {"label": "D", "text": "Ecological study", "correct": false}], "correct_answer": "B. Cross-sectional study", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RpUBTpFYkwfzC5h0A6JQ1726234924.mp3", "video": ""}, {"text": "Which of the following statements regarding experimental studies is false?", "options": [{"label": "A", "text": "Interventional study can confirm/discard a hypothesis", "correct": false}, {"label": "B", "text": "Healthy individuals are a unit of study in randomised clinical trials", "correct": true}, {"label": "C", "text": "Cost and ethical concerns are seen in experimental studies", "correct": false}, {"label": "D", "text": "Experimental studies often include control groups to compare the effects of the intervention.", "correct": false}], "correct_answer": "B. Healthy individuals are a unit of study in randomised clinical trials", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:516px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Experimental study</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Unit of study</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\">RCT</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\">Diseased individuals</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\">Field trials (e.g. Vaccine trials)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\">Healthy Individuals</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:676px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Disadvantages</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Provides evidence for the direct effect of an intervention and its outcome. Hence, a disease can be confirmed using Experimental or Interventional <span class=\"customMeta\" data-dictid=\"bbb38c23561692777187447f54619d\">epidemiology</span> <strong>(Option A)</strong>.</li>\n<li>For example, vaccines and drug manufacturing took place after the confirmation of the <span class=\"customMeta\" data-dictid=\"2d364aeaf7169277718529fa58f6ea\">COVID-19</span> virus.</li>\n</ul>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Cost:</strong> Experimental studies, especially large-scale RCTs, can be expensive to conduct <strong>(Option C).</strong></li>\n</ul>\n<br/>\n\t\t\t </td>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Evaluate the <span class=\"customMeta\" data-dictid=\"7f80be61231692777187391e91e867\">efficacy</span> of new drugs, vaccines, and therapies and compare between two interventional groups.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Ethical concerns:</strong> Ethical considerations often pose limitations on experimental studies <strong>(Option C).</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/okApPBNLceL1VKOpgrKh1726234806.mp3", "video": ""}, {"text": "Match column A's types of studies with the appropriate option in column B. COLUMN A COLUMN B a) Cross-sectional i) Testing of hypothesis b) Ecological ii) Prevalence c) Descriptive study iii) First Phase in Epidemiology d) Analytical study iv) Population as the unit of study", "options": [{"label": "A", "text": "a-ii, b-iv, c- iii, d-i", "correct": true}, {"label": "B", "text": "a-i, b-ii, c- iv, d-iii", "correct": false}, {"label": "C", "text": "a-iv, b-iii, c-i, d-ii", "correct": false}, {"label": "D", "text": "a-iii, b-iv, c-i, d-ii", "correct": false}], "correct_answer": "A. a-ii, b-iv, c- iii, d-i", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4LMQScKjpp5L1gbEyvhg1726234559.mp3", "video": ""}, {"text": "In community medicine research, which of the following statements is true?", "options": [{"label": "A", "text": "Case series are used to establish causality between an exposure and an outcome.", "correct": false}, {"label": "B", "text": "Case reports are descriptive studies, while case series are analytical studies", "correct": false}, {"label": "C", "text": "Case series is formed by compiling reports of cases with diverse characteristics", "correct": false}, {"label": "D", "text": "Case series do not include a comparison group", "correct": true}], "correct_answer": "D. Case series do not include a comparison group", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Case report</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Case Series</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Includes a single individual with unique or unusual findings</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Aggregation or collection of case reports that have a similar finding <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>They are both a type of descriptive study and <strong>do not</strong> require a comparison group <strong>(Option B)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/h3quNRKlvyegYNW0BQAg1745867990.mp3", "video": ""}, {"text": "Which of the following is a characteristic of analytical study?", "options": [{"label": "A", "text": "The subject of interest is the population", "correct": false}, {"label": "B", "text": "The subject of interest is an individual within the population", "correct": true}, {"label": "C", "text": "Helps in formulating a hypothesis", "correct": false}, {"label": "D", "text": "No comparison group is present", "correct": false}], "correct_answer": "B. The subject of interest is an individual within the population", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\"><strong>Descriptive Study</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\"><strong>Analytical study</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">The subject of interest is population <strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">The subject of interest is an individual within the population <strong>(Option B)</strong>, except in <span class=\"customMeta\" data-dictid=\"2a33975a2916927771865a802a1de7\">ecological study</span> where the unit is population</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">A comparison group is not present <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">A comparison group is present</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">Helps in formulating a hypothesis <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">Helps is testing a hypothesis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">E.g. Case report, case series</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:333px\">\n<p style=\"text-align:center\">E.g. <span class=\"customMeta\" data-dictid=\"dbb5ff6b6c1692777184160220ac92\">Cohort</span> studies and case-control studies.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gDRwCkkh8Vsd7OBZoFKS1726234331.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 41 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Below are the steps for conducting a systematic review. Select the option that states the correct order of the steps. Data extraction Data synthesis Selecting the studies Defining the review question and eligibility criteria Searching for the studies Result Interpretation", "options": [{"label": "A", "text": "3-5-4-2-1-6", "correct": false}, {"label": "B", "text": "5-3-1-2-4-6", "correct": false}, {"label": "C", "text": "4-5-3-1-2-6", "correct": true}, {"label": "D", "text": "2-1-5-3-4-6", "correct": false}], "correct_answer": "C. 4-5-3-1-2-6", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/5eRhcGo50nEY4Jzsi5xd1732701692.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Step</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Paraphrased Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1. Formulating the Research Question</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Start by framing a specific, well-defined question using models like PICO (Population, Intervention, Comparison, Outcome). This step directs all following activities.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2. Developing a Protocol</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Create a comprehensive plan that includes aims, eligibility criteria, and methods for searching, screening, and synthesizing studies. Register the protocol in databases like PROSPERO.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3. Identifying Studies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Perform an extensive literature search across various sources with no language barriers. Use predefined <span class=\"customMeta\" data-dictid=\"c3b8b9a17416927771906b1bebb13c\">inclusion</span> and <span class=\"customMeta\" data-dictid=\"1cc6e4677116927771870a10c66fe7\">exclusion</span> criteria.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>4. Selecting Relevant Studies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Screen titles, abstracts, and full texts using explicit criteria. Involve multiple reviewers and resolve disagreements through discussion or a third-party reviewer.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>5. Assessing Quality</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Evaluate the methodological strength of included studies using standard checklists to <span class=\"customMeta\" data-dictid=\"7991fb415f16927771887b76483a71\">gauge</span> bias and relevance for synthesis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6. Data Extraction and Summarization</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Use uniform tools to <span class=\"customMeta\" data-dictid=\"387ff6837a16927771876363756d5a\">extract</span> key data from studies. Summarize findings using descriptive tables and figures.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>7. Synthesizing the Evidence</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Combine data either qualitatively or quantitatively (meta-analysis), depending on the <span class=\"customMeta\" data-dictid=\"47acdb59a9169277718832c7a2df0b\">heterogeneity</span> of studies. Subgroup analysis may be applied.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>8. Interpreting and Reporting</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Discuss the strength, limitations, and implications of the findings. Provide recommendations and suggestions for future research directions.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PCGlJprre5BGOg67oggf1746561810.mp3", "video": ""}, {"text": "Which of the following best describes meta-analysis?", "options": [{"label": "A", "text": "Quantitative analysis of the result derived from a single study", "correct": false}, {"label": "B", "text": "Conducting time-specific research and analysing the same", "correct": false}, {"label": "C", "text": "Analysis of results derived from multiple studies", "correct": true}, {"label": "D", "text": "Conducting population-specific research and analysing the same", "correct": false}], "correct_answer": "C. Analysis of results derived from multiple studies", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tJvMjwG7MbzweVG7jfj71746561954.mp3", "video": ""}, {"text": "All of the following are true about funnel plot except?", "options": [{"label": "A", "text": "It is used in both systematic review and meta-analysis", "correct": false}, {"label": "B", "text": "Unbiased results of large-scale studies will be near the average", "correct": false}, {"label": "C", "text": "A triangular distribution of results indicates the absence of heterogeneity", "correct": false}, {"label": "D", "text": "A positive file drawer means many good outcomes of research were unpublished", "correct": true}], "correct_answer": "D. A positive file drawer means many good outcomes of research were unpublished", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/cK8lTBo6qANx7EH7wSzD1725036516.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Positive file drawer effect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Negative file drawer effect</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Most of the bad research outcomes are not published, leading to the <span class=\"customMeta\" data-dictid=\"4defbc994e16927771848875f94fee\">clubbing</span> of results to the right of the average line.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Most good research outcomes are not published, leading to the <span class=\"customMeta\" data-dictid=\"4defbc994e16927771848875f94fee\">clubbing</span> of results to the left of the average line.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/pwIQJAAMFr7ViAcOE6dR1746562133.mp3", "video": ""}, {"text": "Which of the following best describes the use of a blobbogram?", "options": [{"label": "A", "text": "Association of multiple risk factors with the same disease", "correct": true}, {"label": "B", "text": "Association of one risk factor with selected diseases", "correct": false}, {"label": "C", "text": "Association of one risk factor for a disease with another", "correct": false}, {"label": "D", "text": "Association of multiple risk factors with selected diseases", "correct": false}], "correct_answer": "A. Association of multiple risk factors with the same disease", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/dmOaED6bI1vSo6bzplSf1732701874.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:618px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>OR (Odd’s ratio)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>An OR of 1 means no association; <1 means the factor considered is not risky / a protective factor ; >1 means the factor considered is risky.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Solid vertical line</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corresponds to the Odd’s ratio of no effect.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diamond</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A summary measure signifies the overall association of all the risk factors with the disease.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Broken vertical line</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corresponds to the summary measure.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Black shapes</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>This signifies the sample population's size is proportionate to the shape's size.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Horizontal lines</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Confidence intervals (where 95% of the results fall) of each study.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4fZycHktUmbQWZ1Cw7pC1746562297.mp3", "video": ""}, {"text": "Which is not a reporting format used in systematic review and meta-analysis?", "options": [{"label": "A", "text": "PRISMA", "correct": false}, {"label": "B", "text": "COCHRANE", "correct": false}, {"label": "C", "text": "QUOROM", "correct": false}, {"label": "D", "text": "CONSORT", "correct": true}], "correct_answer": "D. CONSORT", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>PRISMA</strong> </p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Preferred Reporting Items - <span class=\"customMeta\" data-dictid=\"686725cf89169277719994d7d523d1\">Systematic</span> Review and Meta-Analysis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>COCHRANE </strong></p>\n<p><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Based on a set of guidelines devised by the Cochrane organisation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>QUOROM </strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Quality Of Reporting Of <span class=\"customMeta\" data-dictid=\"58ea0d68b51692777192c9753d583f\">Meta-analysis</span> (devised by the quorum group).</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MBogdi6EdfQyWU35sojD1747158495.mp3", "video": ""}, {"text": "Which of the following incorporates the advantage of researched science into a doctor’s clinical expertise and patient values?", "options": [{"label": "A", "text": "Correlational research", "correct": false}, {"label": "B", "text": "Controlled trials", "correct": false}, {"label": "C", "text": "Evidence-based medicine", "correct": true}, {"label": "D", "text": "Meta-analysis", "correct": false}], "correct_answer": "C. Evidence-based medicine", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/jDqxlrHAGp92DXvD8Pvt1732702112.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/N6jEdkPvWopM4Dd8MJVG1746562671.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 16 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A 28 y/o reports a history of deep vein thrombosis (DVT) five years ago but is otherwise healthy. She does not smoke and has no other significant medical history. She desires a reliable, long-term contraceptive method. Which of the following contraceptive options is MOST contraindicated in this patient?", "options": [{"label": "A", "text": "Copper Intrauterine Device (IUD)", "correct": false}, {"label": "B", "text": "Progesterone-only pill (POP)", "correct": false}, {"label": "C", "text": "Combined oral contraceptive pills (COCPs)", "correct": true}, {"label": "D", "text": "Barrier methods (condoms, diaphragm)", "correct": false}], "correct_answer": "C. Combined oral contraceptive pills (COCPs)", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:831px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Adverse Effects of Oral <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">Contraceptive</span> Pills (OCPs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contraindications of Oral <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">Contraceptive</span> Pills (OCPs)</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cardiovascular Effects (due to <span class=\"customMeta\" data-dictid=\"a58dd68b011692777187eb72633aac\">estrogen</span> content)</strong></p>\n<ul>\n<li>Myocardial <span class=\"customMeta\" data-dictid=\"77aed446d2169277719007f42bf052\">infarction</span> (MI)</li>\n<li>Cerebral <span class=\"customMeta\" data-dictid=\"3e745919391692777200fae21b7251\">thrombosis</span> - Stroke</li>\n<li>Risk increases with age >35 and cigarette smoking.</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Carcinogenesis</strong></p>\n<ul>\n<li>Increased risk of <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> cancer</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Metabolic Effects (due to <span class=\"customMeta\" data-dictid=\"183d374ac91692777196c63c850299\">progesterone</span> content)</strong></p>\n<ul>\n<li>Elevated blood pressure</li>\n<li>Altered <span class=\"customMeta\" data-dictid=\"1ffaec13de169277719828374cfda0\">serum</span> <span class=\"customMeta\" data-dictid=\"a99114a6c216927771916f45ffc66c\">lipid</span> levels</li>\n<li>Interference with blood clotting</li>\n<li>Interference with carbohydrate metabolism</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Thromboembolic Events</strong></p>\n<ul>\n<li>Deep <span class=\"customMeta\" data-dictid=\"75ddd4cc7016927772012e0acd424d\">vein</span> <span class=\"customMeta\" data-dictid=\"3e745919391692777200fae21b7251\">thrombosis</span> (DVT)</li>\n<li>Pulmonary <span class=\"customMeta\" data-dictid=\"1c07a1135f1692777187f547678386\">embolism</span> (PE)</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Others</strong></p>\n<ul>\n<li>Lactation: <span class=\"customMeta\" data-dictid=\"10c83adb331692777197f775bec1aa\">Reduced</span> quantity and quality of breast milk</li>\n<li>Weight gain</li>\n<li>Migraine</li>\n<li>Breast tenderness</li>\n</ul>\n</td>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Absolute Contraindications:</strong></p>\n<ul>\n<li>Cancer of the breast and genitals</li>\n<li>Liver disease</li>\n<li>Previous or present history of thromboembolism</li>\n<li>Cardiac abnormalities</li>\n<li>Congenital hyperlipidaemia</li>\n<li>DM with vasculopathy</li>\n<li>Migraine with aura</li>\n<li>Undiagnosed <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleed </li>\n<li>Suspected pregnancy</li>\n</ul>\n\t\t\t \n\n\t\t\t<p><strong>Relative Contraindications (requiring medical surveillance):</strong></p>\n<ul>\n<li>Age over 40 years</li>\n<li>Smoking and age over 35 years</li>\n<li>Mild hypertension</li>\n<li>Chronic <span class=\"customMeta\" data-dictid=\"b9356afdba16927771979d068c6587\">renal</span> disease</li>\n<li>Migraine</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/aqOInHyVigawryt3JDyD1741865703.mp3", "video": ""}, {"text": "Which of the following is not a characteristic of a planned family?", "options": [{"label": "A", "text": "No childbirth beyond the age of 30-35", "correct": false}, {"label": "B", "text": "Gap of 2 years between marriage and first child birth", "correct": false}, {"label": "C", "text": "Age of mother is &gt;20 years at the time of first child birth", "correct": false}, {"label": "D", "text": "Gap of 2 years between 2 successive pregnancies", "correct": true}], "correct_answer": "D. Gap of 2 years between 2 successive pregnancies", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Fr53aYVz3pkuHTNx04Vy1741865831.mp3", "video": ""}, {"text": "In a village with a population of 2,000 eligible couples, the survey findings revealed that 600 couples use oral contraceptives, 300 couples use condoms, 200 couples use intrauterine devices (IUDs), and 100 couples have undergone sterilization. Which of the following is the couple protection rate (CPR)?", "options": [{"label": "A", "text": "45%", "correct": false}, {"label": "B", "text": "50%", "correct": false}, {"label": "C", "text": "55%", "correct": false}, {"label": "D", "text": "60%", "correct": true}], "correct_answer": "D. 60%", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/DWEQ1gUQOU0dGgRfxwyr1734002729.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/lxMScGllhJ10gpaZ9J8J1741865950.mp3", "video": ""}, {"text": "Which of the following statements correctly defines the Pearl Index for measuring contraceptive effectiveness?", "options": [{"label": "A", "text": "Probability of First-Year Pregnancy", "correct": false}, {"label": "B", "text": "Pregnancies per 100 Woman-Years", "correct": true}, {"label": "C", "text": "Accidental Pregnancy Rate", "correct": false}, {"label": "D", "text": "Average Conception Time", "correct": false}], "correct_answer": "B. Pregnancies per 100 Woman-Years", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Formula</strong></p>\n</td>\n<td>\n<p><em>(Total <span class=\"customMeta\" data-dictid=\"fb7ff97e071692777180252299cf10\">accidental</span> pregnancies / Total months of exposure) x 1200</em></p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Numerator</strong></p>\n</td>\n<td>\n<p>The total number of <span class=\"customMeta\" data-dictid=\"fb7ff97e071692777180252299cf10\">accidental</span> pregnancies, including pregnancies that resulted in live births, stillbirths, abortions, or are ongoing.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Denominator</strong></p>\n</td>\n<td>\n<p>(Total months in the review period) <strong>–</strong> (months stopped using <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> for non-pregnancy reasons)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Minimum Data</strong></p>\n</td>\n<td>\n<p>At least 600 months of exposure.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Disadvantages</strong></p>\n</td>\n<td>\n<ul>\n<li>PI assumes a constant failure rate over time, but <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> failure rates typically decline with longer use.</li>\n<li>High-fertility couples conceive earlier, skewing results towards lower-fertility couples later in studies.</li>\n<li>PI ignores factors beyond <span class=\"customMeta\" data-dictid=\"fb7ff97e071692777180252299cf10\">accidental</span> pregnancy that affect effectiveness, like user dissatisfaction, side effects, attempts to conceive, or loss of follow-up.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Better methods</strong></p>\n</td>\n<td>\n<p>Life Table Analysis is a better method to evaluate <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> efficacy.</p>\n<p>It calculates <span class=\"customMeta\" data-dictid=\"fa914a0d95169277718542753b513d\">cumulative</span> failure rates over a specified time frame, like one</p>\n<p>month.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/KwHjVuM0VNBD9eCQ0MI51741866068.mp3", "video": ""}, {"text": "Match the following contraceptive methods with their appropriate failure rates. Contraceptive Failure Rate A. Male condom 1. 9-20/HWY B. Female Condom 2. 20-40/HWY C. Diaphragm 3. 6-12/HWY D. Vaginal sponge (Nulliparous women) 4. 2-14/HWY E. Vaginal sponge (Parous women) 5. 5-21/HWY", "options": [{"label": "A", "text": "A-1, B-4, C-3, D-2, E-2", "correct": false}, {"label": "B", "text": "A-5, B-4, C-2, D-1, E-3", "correct": false}, {"label": "C", "text": "A-4, B-5, C-3, D-1, E-2", "correct": true}, {"label": "D", "text": "A-2, B-5, C-3, D-1, E-4", "correct": false}], "correct_answer": "C. A-4, B-5, C-3, D-1, E-2", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Contraceptive Method</strong></p>\n</td>\n<td>\n<p><strong>Failure Rate </strong><br/>\n<strong>(Pregnancies per 100 women-years)</strong></p>\n</td>\n<td>\n<p><strong>Additional Information</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Male Condom</p>\n</td>\n<td>\n<p>2-13</p>\n</td>\n<td>\n<p>The most common cause of failure is incorrect use.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Female Condom</p>\n</td>\n<td>\n<p>5-21</p>\n</td>\n<td>\n<p>Higher failure rate than male condoms.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Diaphragm</p>\n</td>\n<td>\n<p>6-12</p>\n</td>\n<td>\n<p>Not recommended under the National Family Planning Welfare Programme.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Vaginal sponge</p>\n</td>\n<td>\n<p>9-20</p>\n</td>\n<td>\n<p>Higher failure rate in <span class=\"customMeta\" data-dictid=\"6970e591c01692777194fae32e526b\">parous</span> women (20-40/HWY) compared to <span class=\"customMeta\" data-dictid=\"341daa40bb169277719303fbd1ce1a\">nulliparous</span> women. </p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Spermicides</p>\n</td>\n<td>\n<p>High</p>\n</td>\n<td>\n<p>High failure rate when used alone, but good to use with some other <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> method.</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Method</strong></p>\n</td>\n<td>\n<p><strong>Pregnancies per 100 women years</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Injectables</p>\n</td>\n<td>\n<p>0.05</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Implant</p>\n</td>\n<td>\n<p>0.1</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Vasectomy</p>\n</td>\n<td>\n<p>0.1</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>OCP</p>\n</td>\n<td>\n<p>0.3</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Hormonal IUD</p>\n</td>\n<td>\n<p>0.5</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Tubal ligation</p>\n</td>\n<td>\n<p>0.5</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Copper IUD</p>\n</td>\n<td>\n<p>0.6</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Calendar method</p>\n</td>\n<td>\n<p>14</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Withdrawal</p>\n</td>\n<td>\n<p>20</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/jvU3WIWAGAhLA4oAu72p1741891331.mp3", "video": ""}, {"text": "Match the following: a) Mission Parivar Vikas 1) Contraception counselling method b) NISCHAY 2) Population stabilization fund c) Jansankhya sthirata kosh 3) Nayi pahel kit- family planning kit for newly weds d) Gather approach 4) Home testing UPT provided by ASHA", "options": [{"label": "A", "text": "a-3, b-4, c-2, d-1", "correct": true}, {"label": "B", "text": "a-1, b-4, c-2, d-3", "correct": false}, {"label": "C", "text": "a-4, b-2, c-3, d-1", "correct": false}, {"label": "D", "text": "a-2, b-1, c-3, d-4", "correct": false}], "correct_answer": "A. a-3, b-4, c-2, d-1", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/YBj8T5pHfxOEpyj6Q90I1734002541.png", "https://image.prepladder.com/content/OSgOWzGkPPnURtebaKmd1734002592.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:629px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mission Parivar Vikas</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Aims to promote family planning and reduce the population</li>\n<li><strong>Nayi pahel kit-</strong> family planning kit for newlyweds</li>\n<li><strong>Saas bahu samelan-</strong> encourages daughter-in-law and mother-in-law to discuss family planning</li>\n<li><strong>Saarthi-</strong> family planning mobile van</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>NISCHAY</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Home testing UPT provided by ASHA</li>\n</ul>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"274\" src=\"https://image.prepladder.com/content/YBj8T5pHfxOEpyj6Q90I1734002541.png\" width=\"500\"/></p>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Jansankhya sthirata kosh</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Population <span class=\"customMeta\" data-dictid=\"6694ddb1db1692777199c9a1e38bf0\">stabilization</span> fund</li>\n</ul>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"256\" src=\"https://image.prepladder.com/content/OSgOWzGkPPnURtebaKmd1734002592.png\" width=\"500\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Gather approach</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Contraception counselling method</li>\n<li>Stands for Greet, Ask, Tell, Help, Explain, and Return</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/URu1RZk0tbMTdvuqFXNq1741891205.mp3", "video": ""}, {"text": "What program is the given image a logo for?", "options": [{"label": "A", "text": "National family welfare program", "correct": true}, {"label": "B", "text": "Jansankhya sthirata kosh", "correct": false}, {"label": "C", "text": "Mission parivar vikas", "correct": false}, {"label": "D", "text": "Janani shishu suraksha karyakram", "correct": false}], "correct_answer": "A. National family welfare program", "question_images": ["https://image.prepladder.com/content/KX5QfMfBP1brrUBzHtRA1734002362.png"], "explanation_images": ["https://image.prepladder.com/content/32flcuyWOg4dBntetHMY1734002475.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gHujiLCtyk2eWa2Awzyy1741867177.mp3", "video": ""}, {"text": "A 29-year-old woman with 3 children has come for counselling regarding sterilisation. She is hesitant to have surgery. Which of the following methods suits her needs?", "options": [{"label": "A", "text": "Essure", "correct": true}, {"label": "B", "text": "DMPA", "correct": false}, {"label": "C", "text": "Mesigyna", "correct": false}, {"label": "D", "text": "Cerazette", "correct": false}], "correct_answer": "A. Essure", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Ygs8jdGPnwl7sEqcW0c31734002201.png", "https://image.prepladder.com/content/XrYBSJJG4HXOioNSZWRk1734002218.png", "https://image.prepladder.com/content/Plq14zaGUKpk2XWOGyXL1734002248.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/k0GDuV9RANGp5TJt5q2G1741867361.mp3", "video": ""}, {"text": "Which of the following is false regarding female sterilisation?", "options": [{"label": "A", "text": "Minilap can be performed at PHC level", "correct": false}, {"label": "B", "text": "Permission of spouse must be obtained", "correct": true}, {"label": "C", "text": "They must be ever married", "correct": false}, {"label": "D", "text": "They must be of age 22-49 years", "correct": false}], "correct_answer": "B. Permission of spouse must be obtained", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Procedure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Timing</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Interval sterilization</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Any time after 6 weeks of childbirth</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Postpartum sterilization</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Between 24 hours to 7 days of delivery</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sterilization with MTP</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Concurrently</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sterilisation following <span class=\"customMeta\" data-dictid=\"f71e485d131692777199151d1076d2\">spontaneous</span> abortion</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Within 7 days (if no other complications)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/LhvFftKzYU6WjQ1W42NW1741867550.mp3", "video": ""}, {"text": "A 40-year-old male is ready for discharge after vasectomy under his family planning program. How long should he use additional contraceptive measures till he becomes completely sterile?", "options": [{"label": "A", "text": "No need of additional contraceptive measures", "correct": false}, {"label": "B", "text": "15 ejaculations", "correct": false}, {"label": "C", "text": "20 ejaculations", "correct": true}, {"label": "D", "text": "10 ejaculations", "correct": false}], "correct_answer": "C. 20 ejaculations", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/JZPo67UygX94X02tQ3m01725515725.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qyjtsjiqNYEJv20W7qCL1741891040.mp3", "video": ""}, {"text": "In the Basal body temperature method, which of the following is the reason for increase in body temperature?", "options": [{"label": "A", "text": "Increase in estrogen", "correct": false}, {"label": "B", "text": "Increase in progesterone", "correct": true}, {"label": "C", "text": "Decrease in progesterone", "correct": false}, {"label": "D", "text": "Decrease in estrogen", "correct": false}], "correct_answer": "B. Increase in progesterone", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/VbeRzeIpm0VRROiFH6841725515625.jpg", "https://image.prepladder.com/content/5UXuKKptMaMM2nIbnrMF1725515647.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:717px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Calendar/Rhythm method</strong></p>\n<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"333\" src=\"https://image.prepladder.com/content/VbeRzeIpm0VRROiFH6841725515625.jpg\" width=\"300\"/>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li> <span class=\"customMeta\" data-dictid=\"ad25936d1916927771900a1de2dd77\">Intercourse</span> should be avoided on 11th to 17th day of <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> cycle</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>Ova remains <span class=\"customMeta\" data-dictid=\"915ca56f53169277720296a38e3e8e\">viable</span> for 12-24 hrs.</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>Not preferred since <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> cycles are not always regular.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Basal <span class=\"customMeta\" data-dictid=\"4a7581c8b01692777183819f38c633\">Body Temperature</span> method:</strong></p>\n<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"127\" src=\"https://image.prepladder.com/content/5UXuKKptMaMM2nIbnrMF1725515647.jpg\" width=\"400\"/>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prior to ovulation, the <span class=\"customMeta\" data-dictid=\"923af580cf16927771829606bce2a7\">basal</span> <span class=\"customMeta\" data-dictid=\"4a7581c8b01692777183819f38c633\">body temperature</span> increases by 0.3 to 0.5 degree Celsius.</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>The increase in temperature is due to an increase in <span class=\"customMeta\" data-dictid=\"183d374ac91692777196c63c850299\">progesterone</span> (Option B).</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>This method is reliable if the <span class=\"customMeta\" data-dictid=\"ad25936d1916927771900a1de2dd77\">intercourse</span> is restricted to the post ovulatory phase, after 3 days of temperature rise.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cervical mucus/Billings method:</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>This method is based on changes in characteristics of <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> <span class=\"customMeta\" data-dictid=\"ab75ea330616927771938a64f8ebd6\">mucus</span> observed as the <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> cycle proceeds.</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>During ovulation, <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> <span class=\"customMeta\" data-dictid=\"ab75ea330616927771938a64f8ebd6\">mucus</span> becomes watery, smooth, slippery and profuse resembling raw egg white.</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>After ovulation, <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> <span class=\"customMeta\" data-dictid=\"ab75ea330616927771938a64f8ebd6\">mucus</span> thickens and decreases in quantity, due to increase in progesterone.</li>\n</ul>\n\t\t\t \n\n\t\t\t<ul>\n<li>This method requires a high level of motivation.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2r44jYdKAIOuV3kFkkM01741866186.mp3", "video": ""}, {"text": "Which of the following is not an emergency contraceptive?", "options": [{"label": "A", "text": "Ulipristal", "correct": false}, {"label": "B", "text": "Mifepristone", "correct": false}, {"label": "C", "text": "Levonorgestrel", "correct": false}, {"label": "D", "text": "Desogestrel", "correct": true}], "correct_answer": "D. Desogestrel", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:822px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Emergency contraception</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MOA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>How to use(hrs after unprotected sexual intercourse)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Copper containing <span class=\"customMeta\" data-dictid=\"0a1f2085da1692777190fa4d489421\">IUD</span> (most effective)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causes a chemical reaction and prevents fertilization</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Should be inserted within 120 hours (99% effective)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Levonorgestrel (i-pill) (option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Progesterone thickens <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> <span class=\"customMeta\" data-dictid=\"ab75ea330616927771938a64f8ebd6\">mucus</span> and decreases <span class=\"customMeta\" data-dictid=\"a970a38e85169277720171bea632e7\">tubal</span> motility</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1.5 mg single <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> or two doses of 0.75 mg 12 hours apart within 72 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ulipristal (option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">Selective <span class=\"customMeta\" data-dictid=\"183d374ac91692777196c63c850299\">progesterone</span> <span class=\"customMeta\" data-dictid=\"9e4959f6f316927771978bb152d440\">receptor</span> down regulator</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30 mg single <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> within 120 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mifepristone (option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Makes <span class=\"customMeta\" data-dictid=\"2f1603da6716927771878d0cbdd372\">endometrium</span> unsuitable for implantation</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10 mg single dose within 72 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yuzpee method (not used now)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevents <span class=\"customMeta\" data-dictid=\"52007706a216927771899e36747712\">implantation</span> and thickens <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> mucus</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Two doses of 0.1 mg ethinylestradiol and 0.5 mg levonorgestrel, 12 hours apart, within 72 hours</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PIeJ5waVXeWmkBtJzXq71741866333.mp3", "video": ""}, {"text": "A woman missed 2 pills in the second week of her contraceptive pack. She had unprotected sex yesterday. What should she do?", "options": [{"label": "A", "text": "Discard the pack and start a new one immediately", "correct": false}, {"label": "B", "text": "Take 2 pills at the scheduled time", "correct": true}, {"label": "C", "text": "Skip the missed pills and continue with the next pack", "correct": false}, {"label": "D", "text": "Use emergency contraception immediately", "correct": false}], "correct_answer": "B. Take 2 pills at the scheduled time", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:734px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Missed pills</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Management</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Missed 1 or 2 pills/ started new pack 1 or</strong></p>\n<p><strong>2 days late</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Take one pill as soon as possible or take 2 pills at the scheduled time: <em>No risk of pregnancy</em></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Missed 3 or more pills in the first or second week/ started a new pack 3 or more days late</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Take one pill as soon as possible, and then continue with the scheduled pill</li>\n<li>Use the backup method for the next 7 days</li>\n<li>In case of unprotected sex in the last 72 hours, use an emergency <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> method</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Missed 3 or more pills in the third week (last week)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Take one pill as soon as possible and finish the rest of the hormonal pills</li>\n<li>The last 7 <span class=\"customMeta\" data-dictid=\"9996ef505516927771937fe4ef1222\">non</span> – hormonal pills should be discarded, start a new pack the next day</li>\n<li>Use a barrier method for the next 7 days</li>\n<li>In case of unprotected sex in the last 7 days, use emergency contraception</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1FLRVzet8SAdgBefHSHI1741865271.mp3", "video": ""}, {"text": "A 30 Y/o woman has been taking oral contraceptive pills (OCPs) for the past five years, not just for contraception but also for managing her menstrual cramps and acne. Which of the following are additional long-term health benefits of OCPs, aside from birth control and symptomatic relief?", "options": [{"label": "A", "text": "Reduced risk of hypertension", "correct": false}, {"label": "B", "text": "Decreased risk of thrombosis", "correct": false}, {"label": "C", "text": "Reduced risk of ovarian cancer", "correct": true}, {"label": "D", "text": "Reduced risk of cervical cancer", "correct": false}], "correct_answer": "C. Reduced risk of ovarian cancer", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Eg4z22b1nAmBnJULQsJH1741865515.mp3", "video": ""}, {"text": "A 30-year-old sexually active couple presents at a free health clinic seeking advice on contraception methods that also protect against sexually transmitted infections (STIs). They are interested in a method that offers both protection from pregnancy and protection against STDs. Which barrier method would be most recommended for them?", "options": [{"label": "A", "text": "Female condom", "correct": false}, {"label": "B", "text": "Diaphragm", "correct": false}, {"label": "C", "text": "Cervical cap", "correct": false}, {"label": "D", "text": "Male condom", "correct": true}], "correct_answer": "D. Male condom", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/mucP7sL5dfYZedAHVQ141734000402.png", "https://image.prepladder.com/content/OUhfFFoGjuJfjcmdTwyx1734000415.png", "https://image.prepladder.com/content/qippGSnbDqEF8ZhP9Abe1734000435.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:885px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Male Condom</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Female Condom</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Diaphragm</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Material</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Latex</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Polyurethane or Nitrile/latex</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Synthetic rubber or plastic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Spermicide Requirement</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Optional</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Pre-lubricated with silicone; <span class=\"customMeta\" data-dictid=\"40cdb0896416927771998564e4c0e4\">spermicide</span> not required</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Used with spermicide</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Protection against STDs</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Protects both partners from STDs</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Protects against STDs </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Doesn't protect from <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> and STDs</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Failure rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>2-13/HWY</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>5-21/HWY</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>6-12/HWY</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Safe, easy to use, inexpensive, no side effects, easy disposable</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>No Hormonal side effects.</li>\n<li>Can be used by women with <span class=\"customMeta\" data-dictid=\"60088572d31692777191346a90b73f\">latex</span> sensitivity.</li>\n<li>Can be reused.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Nil side effects and medical contraindications, reusable</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>May slip off or tear due to incorrect use</li>\n<li>Interferes with sexual sensation</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Interferes with sexual sensation</li>\n<li>May slip off or tear</li>\n<li>High cost, noticeable during sex, needs practice to insert and use</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Should be <strong>present in <span class=\"customMeta\" data-dictid=\"8537d8358c169277720162f2f6971b\">vagina</span> up to 6 hours post-ejaculation</strong>,</li>\n<li>Risk of <strong>Toxic Shock Syndrome (TSS) </strong>if left for > 24 hours</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Brand Name(s)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>NIRODH</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>FEMIDOM</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Variations of diaphragm:Cervical cap, <span class=\"customMeta\" data-dictid=\"d3011216f116927772017c8f317493\">Vault</span> cap, Vimule cap, Dutch cap</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Availability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Freely available under the National Family Welfare Programme</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Provided under the National AIDS Control Programme (NACP)</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Not recommended under the National Family Planning Welfare Programme</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Other Information</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Should not be reused most</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Reusable; male and female condoms should not be used together due to an anti-synergistic effect</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\"><img alt=\"\" data-author=\"Flegmus\" data-hash=\"\" data-license=\"CC BY-SA 3.0\" data-source=\"https://en.wikipedia.org/wiki/Condom#/media/File:Kondom.jpg\" data-tags=\"\" height=\"305\" src=\"https://image.prepladder.com/content/mucP7sL5dfYZedAHVQ141734000402.png\" width=\"350\"/></td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\"><img alt=\"\" data-author=\"Ceridwen\" data-hash=\"\" data-license=\"CC BY-SA 2.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Pr%C3%A9servatif_f%C3%A9minin.jpg\" data-tags=\"\" height=\"150\" src=\"https://image.prepladder.com/content/OUhfFFoGjuJfjcmdTwyx1734000415.png\" width=\"300\"/></td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\"><img alt=\"\" data-author=\"Axefan2\" data-hash=\"\" data-license=\"Open access\" data-source=\"https://en.wikipedia.org/wiki/Diaphragm_(birth_control)#/media/File:Contraceptive_diaphragm.jpg\" data-tags=\"\" height=\"397\" src=\"https://image.prepladder.com/content/qippGSnbDqEF8ZhP9Abe1734000435.png\" width=\"300\"/></td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/DoLOMoEnGV5ScdAuy2k61741862615.mp3", "video": ""}, {"text": "Match the following contraceptive methods with their correct descriptions: Contraceptive Method Description A. Femilon 1. A non-hormonal male contraceptive derived from cottonseed oil. B. Mini Pills 2. A combined oral contraceptive pill containing both estrogen and progesterone. C. Gossypol 3. A progestin-only oral contraceptive pill.", "options": [{"label": "A", "text": "A-2, B-3, C-1", "correct": true}, {"label": "B", "text": "A-1, B-2, C-3", "correct": false}, {"label": "C", "text": "A-3, B-1, C-2", "correct": false}, {"label": "D", "text": "A-2, B-1, C-3", "correct": false}], "correct_answer": "A. A-2, B-3, C-1", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:797px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contraceptive Method</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Composition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism of Action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Target Population</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Femilon</strong><br/>\n\t\t\t(Combined OCP)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ethinyl <span class=\"customMeta\" data-dictid=\"d8cc09346f16927771878d48ba1ce8\">estradiol</span> IP (0.02 mg) and <span class=\"customMeta\" data-dictid=\"28c9ab514016927771863f4e72036e\">Desogestrel</span> BP (0.15 mg) - <span class=\"customMeta\" data-dictid=\"470f255e67169277720102dc81ccf8\">Ultra</span> low dose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inhibits <span class=\"customMeta\" data-dictid=\"264a9eb50d1692777194427a13247b\">ovulation</span> by suppressing <span class=\"customMeta\" data-dictid=\"b775f0c475169277719593c573f6ff\">pituitary</span> <span class=\"customMeta\" data-dictid=\"9b0ae3750916927771986c15d4ff4d\">secretion</span> of gonadotropin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Women</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mini pills</strong></p>\n<p>(Progesterone only pill)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Progesterone</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inhibits ovulation, thickens <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> mucus, inhibits <span class=\"customMeta\" data-dictid=\"a970a38e85169277720171bea632e7\">tubal</span> motility, delays <span class=\"customMeta\" data-dictid=\"8dc15ef09e1692777198320917e46b\">sperm</span> and <span class=\"customMeta\" data-dictid=\"7c1d9800e2169277719426cf66bb68\">ovum</span> transport</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Older women, women who cannot use combined pills due to <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> risks, women who are lactating</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Gossypol</strong><br/>\n\t\t\t(Non-hormonal male contraceptivel)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Natural phenol, a <span class=\"customMeta\" data-dictid=\"0e2775093c169277718640a425c2a2\">derivative</span> of cotton-seed oil</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inhibits spermatogenesis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Men</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vagsAaRC4n4HnxXSqHO41741864729.mp3", "video": ""}, {"text": "Which of the following correctly describes the difference between MALA-N and MALA-D?", "options": [{"label": "A", "text": "MALA-N: Contains only progesterone; MALA-D: Contains both estrogen and progesterone", "correct": false}, {"label": "B", "text": "MALA-N: Available for free under the government program; MALA-D: Sold at a subsidised price", "correct": true}, {"label": "C", "text": "MALA-N: Taken daily; MALA-D: Taken weekly", "correct": false}, {"label": "D", "text": "MALA-N: Injectable contraceptive; MALA-D: Oral contraceptive", "correct": false}], "correct_answer": "B. MALA-N: Available for free under the government program; MALA-D: Sold at a subsidised price", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/xfhwfo9vUARZOnfoSFGV1725515428.png", "https://image.prepladder.com/content/T7Y2HJVwIUB5RKxdS6811725515450.png", "https://image.prepladder.com/content/0qLJwLWAe7MKAnuSyC591725515395.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>MALA-N</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>MALA-D</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Availability</strong><br/>\n\t\t\t(Option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Supplied free of cost through PHCs, urban family welfare centers.</p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"https://www.si.edu/object/mala-n-oral-contraceptive%3Anmah_688327\" data-tags=\"\" height=\"163\" src=\"https://image.prepladder.com/content/xfhwfo9vUARZOnfoSFGV1725515428.png\" width=\"300\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Available at a subsidized price of Rs. 3 per packet through social marketing schemes</p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"https://www.1mg.com/drugs/mala-d-tablet-228086?wpsrc=Google+Organic+Search\" data-tags=\"\" height=\"163\" src=\"https://image.prepladder.com/content/T7Y2HJVwIUB5RKxdS6811725515450.png\" width=\"300\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Composition</strong></p>\n<p>(Option A)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Levonorgestrel 0.15 mg and <span class=\"customMeta\" data-dictid=\"e4bcd9fe2c1692777187df0dbb0ddc\">Ethinyl</span> <span class=\"customMeta\" data-dictid=\"d8cc09346f16927771878d48ba1ce8\">estradiol</span> 0.03 mg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Packaging</strong></p>\n<p>(Option D)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Packet of 28 tablets - 21 white pills containing the hormones and 7 brown film-coated tablets containing 60 mg <span class=\"customMeta\" data-dictid=\"ffb2e30f4b1692777202053635c365\">ferrous</span> fumarate</p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"184\" src=\"https://image.prepladder.com/content/0qLJwLWAe7MKAnuSyC591725515395.png\" width=\"300\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism of action</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prevents ovulation</li>\n<li>Prevents implantation</li>\n<li>Thick <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> secretions</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Effectiveness</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100% effective if taken correctly </p>\n<p>Failure rate with typical use is 0.8%</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mHQaQakzEw640Ja3Ogx91741864586.mp3", "video": ""}, {"text": "A 38 y/o woman presents to a clinic seeking contraception counseling. She is a breastfeeding mother of a 3-month-old baby. She reports a history of heavy menstrual bleeding. Which of the following can be given to her?", "options": [{"label": "A", "text": "Combined oral contraceptive pills", "correct": false}, {"label": "B", "text": "Depot medroxyprogesterone acetate injections", "correct": false}, {"label": "C", "text": "Progesterone-only pills", "correct": false}, {"label": "D", "text": "Centchroman", "correct": true}], "correct_answer": "D. Centchroman", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hl6QgtPSVROBqO9TNS9T1725515270.png", "https://image.prepladder.com/content/SmpXDT0M0JHNC93hYDVu1725515315.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Centchroman (Ormeloxifene)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Brand Name</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Saheli (formerly); Chhaya (currently)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type of Contraceptive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Non-hormonal, selective <span class=\"customMeta\" data-dictid=\"a58dd68b011692777187eb72633aac\">estrogen</span> <span class=\"customMeta\" data-dictid=\"9e4959f6f316927771978bb152d440\">receptor</span> <span class=\"customMeta\" data-dictid=\"a4dd3586e816927771927d01e3fe29\">modulator</span> (SERM)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism of Action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Delays ovulation, alters the endometrial lining to prevent implantation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dosage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>One 30mg <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> twice a week for the first 3 months, followed by one <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> weekly thereafter</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Non-hormonal, minimal side effects</li>\n<li>Convenient weekly dosage</li>\n<li><strong>No impact on <span class=\"customMeta\" data-dictid=\"5af45ba59c16927771837f3aa7b6d9\">breastfeeding</span> </strong></li>\n<li>Protective effect against breast and endometrial cancer.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Has a high failure rate attributed to low compliance with the prescribed dosing schedule.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Additional Uses</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dysfunctional <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> bleeding</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contraindications</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>PCOD, Thromboembolic disorders, severe liver dysfunction</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Availability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Included in the National Family Welfare program, making it available free of charge at sub-centers</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/n67IOKemO8jhG56osLra1741864430.mp3", "video": ""}, {"text": "A 28 y/o woman desires a reliable method that she can manage herself and wants to avoid daily pill-taking. She has no history of cardiovascular disease or other contraindications for combined hormonal contraception. Which of the following offers both estrogen and progesterone and would be suitable for this patient?", "options": [{"label": "A", "text": "NuvaRing", "correct": true}, {"label": "B", "text": "ANTARA", "correct": false}, {"label": "C", "text": "NORPLANT", "correct": false}, {"label": "D", "text": "NET-EN", "correct": false}], "correct_answer": "A. NuvaRing", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:870px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Contraceptive Method</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hormone Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Benefits</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Form</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Duration of Effectiveness</strong><strong> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>NuvaRing </strong><br/>\n\t\t\t(Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Estrogen (Ethinyl Estradiol) and <span class=\"customMeta\" data-dictid=\"183d374ac91692777196c63c850299\">Progesterone</span> (Etonogestrel)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lower <span class=\"customMeta\" data-dictid=\"a58dd68b011692777187eb72633aac\">Estrogen</span> exposure than with OCPs.</p>\n<p>Low <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> of <span class=\"customMeta\" data-dictid=\"f5499837d31692777187477cd15613\">estrogenic</span> S/E.</p>\n<p>Low <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> of <span class=\"customMeta\" data-dictid=\"863f5457381692777190f05632a8b2\">irregular</span> bleeding.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vaginal Ring</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 month</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ANTARA</strong></p>\n<p>(Option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Progesterone (Medroxyprogesterone Acetate)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Long-lasting and reversible.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Injectable (Depo-Provera)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3 months</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>NORPLANT</strong></p>\n<p>(Option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Progesterone (Levonorgestrel)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used during <span class=\"customMeta\" data-dictid=\"4abd8094e51692777191b1eb073735\">lactation</span> because it has <span class=\"customMeta\" data-dictid=\"183d374ac91692777196c63c850299\">progesterone</span> and no estrogen.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Subdermal Implants</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Up to 5 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>NET-EN</strong></p>\n<p>(Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Progesterone<br/>\n\t\t\t(Norethisterone Enanthate)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Long-lasting and reversible.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Injectable</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>8 weeks</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/R86AWkuvrgsEQa5NrZFs1747426406.mp3", "video": ""}, {"text": "A 32-year-old woman presents for contraceptive counselling. She has a history of irregular menstrual cycles and desires a long-acting reversible contraceptive method. She is not currently pregnant and has no recent history of pelvic infections. Her last menstrual period was two weeks ago, and she is not currently using any form of contraception. When is the most appropriate time for the gynecologist to insert the intrauterine device (IUD) for this patient?", "options": [{"label": "A", "text": "During her current menstrual cycle", "correct": true}, {"label": "B", "text": "Immediately after ovulation", "correct": false}, {"label": "C", "text": "At any time during her cycle", "correct": false}, {"label": "D", "text": "Two weeks before her next menstrual period", "correct": false}], "correct_answer": "A. During her current menstrual cycle", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:767px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Ideal time</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>During <span class=\"customMeta\" data-dictid=\"af76284ec71692777192c7c84b5dad\">menstruation</span> or within the first 10 days of the start of period</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Preferred time</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Postpartum (immediate postpartum): <strong>Post-placenta</strong> insertion; Has a higher rate of expulsion</li>\n<li>Late postpartum: Within <strong>48 hours</strong> of delivery up to 1 week</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Other times</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Post-puerperal: After 6-8 weeks of delivery</li>\n<li>Post-coital: Up to 3-5 days after unprotected intercourse.</li>\n<li>Post-abortion: After 1st <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> loss.\n\t\t\t\t<ul>\n<li>Not recommended after a 2nd <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> abortion.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Pmcb8HSW3KiXYCTHHxEP1741864051.mp3", "video": ""}, {"text": "Which of the following is not an absolute contraindication to IUD insertion?", "options": [{"label": "A", "text": "Suspected pregnancy", "correct": false}, {"label": "B", "text": "CA cervix", "correct": false}, {"label": "C", "text": "Current PID", "correct": false}, {"label": "D", "text": "Menorrhagia", "correct": true}], "correct_answer": "D. Menorrhagia", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Condition</strong></th>\n<th><strong>Contraindication Type</strong></th>\n<th><strong>Reason</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Suspected pregnancy (Option A)</strong></td>\n<td>Absolute</td>\n<td>Risk of <span class=\"customMeta\" data-dictid=\"653140d1dc16927771903445309f4e\">interfering</span> with existing pregnancy</td>\n</tr>\n<tr>\n<td><strong>Cervical cancer (Ca cervix) </strong><strong>(Option B)</strong></td>\n<td>Absolute</td>\n<td>Risk of bleeding/infection, treatment takes priority</td>\n</tr>\n<tr>\n<td><strong>Current <span class=\"customMeta\" data-dictid=\"7cd6eb19341692777195d83aafdcb3\">pelvic</span> <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease (PID) (Option D)</strong></td>\n<td>Absolute</td>\n<td>IUD could worsen infection and lead to complications</td>\n</tr>\n<tr>\n<td><strong>Menorrhagia</strong></td>\n<td><strong>Relative (not absolute)</strong></td>\n<td>May worsen bleeding, but not a strict contraindication; <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> IUDs are avoided, but <strong>LNG-IUS</strong> (like Mirena) is actually used to treat menorrhagia</td>\n</tr>\n</tbody>\n</table>\n<table>\n<thead>\n<tr>\n<th><strong>Condition</strong></th>\n<th><strong>Rationale</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Pregnancy or suspected pregnancy</strong></td>\n<td>Risk of <span class=\"customMeta\" data-dictid=\"423516578d1692777192412d27cc61\">miscarriage</span> or infection</td>\n</tr>\n<tr>\n<td><strong>Current <span class=\"customMeta\" data-dictid=\"7cd6eb19341692777195d83aafdcb3\">pelvic</span> infections</strong> (PID, endometritis, TB)</td>\n<td>Increased risk of <span class=\"customMeta\" data-dictid=\"b5a5dcf4021692777187e3c0d2d47d\">exacerbation</span> and spread of infection</td>\n</tr>\n<tr>\n<td><strong>Mucopurulent <span class=\"customMeta\" data-dictid=\"0e58a7512216927771846bf281147e\">cervicitis</span> or untreated STIs</strong></td>\n<td>Insertion may worsen infection</td>\n</tr>\n<tr>\n<td><strong>Recent puerperal or <span class=\"customMeta\" data-dictid=\"39f67d7dde16927771985d3952058d\">septic</span> abortion (<3 months)</strong></td>\n<td>Higher infection risk</td>\n</tr>\n<tr>\n<td><strong>Cervical or endometrial cancer</strong></td>\n<td>May cause trauma or interfere with treatment</td>\n</tr>\n<tr>\n<td><strong>Gestational trophoblastic disease with elevated β-hCG</strong></td>\n<td>Risk of <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> <span class=\"customMeta\" data-dictid=\"23b5d65f051692777195987380382d\">perforation</span> or spread</td>\n</tr>\n<tr>\n<td><strong>Unexplained <span class=\"customMeta\" data-dictid=\"458e050fdc16927771809854c9fd53\">abnormal</span> <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleeding</strong></td>\n<td>Need to exclude serious <span class=\"customMeta\" data-dictid=\"54e0888a6616927771945a99208287\">pathology</span> before insertion</td>\n</tr>\n<tr>\n<td><strong>Uterine abnormalities distorting the cavity</strong></td>\n<td>Can prevent proper placement and increase risk of perforation</td>\n</tr>\n<tr>\n<td><strong>Allergy to IUD components</strong></td>\n<td>e.g., <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> <span class=\"customMeta\" data-dictid=\"aa1288c36b16927771814fa5aa84eb\">allergy</span> (copper IUD), <span class=\"customMeta\" data-dictid=\"435b0d5b1616927771912550e61580\">levonorgestrel</span> <span class=\"customMeta\" data-dictid=\"aa1288c36b16927771814fa5aa84eb\">allergy</span> (hormonal IUD)</td>\n</tr>\n<tr>\n<td><strong>Wilson’s disease</strong> (for <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> IUDs)</td>\n<td>Copper accumulation is contraindicated</td>\n</tr>\n<tr>\n<td><strong>Current breast cancer</strong> (for hormonal IUDs)</td>\n<td>Hormonal exposure may worsen estrogen-sensitive malignancies</td>\n</tr>\n</tbody>\n</table>\n<table>\n<thead>\n<tr>\n<th><strong>Condition</strong></th>\n<th><strong>Considerations</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Resolved GTD with falling β-hCG</strong></td>\n<td>May be safe if levels are undetectable</td>\n</tr>\n<tr>\n<td><strong>High risk of STIs</strong> (e.g., multiple partners)</td>\n<td>May increase infection risk post-insertion</td>\n</tr>\n<tr>\n<td><strong>Complicated transplant history</strong></td>\n<td>May impair <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> or healing</td>\n</tr>\n<tr>\n<td><strong>Advanced AIDS (not clinically well)</strong></td>\n<td>Higher infection risk and complications</td>\n</tr>\n<tr>\n<td><strong>Coagulopathies or severe anemia</strong></td>\n<td>May worsen bleeding, particularly with <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> IUDs</td>\n</tr>\n<tr>\n<td><strong>Past history of PID, STIs, or <span class=\"customMeta\" data-dictid=\"0decefe0901692777186f7f3f89b2a\">ectopic</span> pregnancy</strong></td>\n<td>Not absolute, but requires counseling and monitoring</td>\n</tr>\n<tr>\n<td><strong>Certain chronic conditions</strong> (e.g., SLE, liver disease)</td>\n<td>Hormonal IUDs need evaluation of risk of worsening disease</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ZTv96mZf4eK5IyvmSBkQ1747426518.mp3", "video": ""}, {"text": "A 29-year-old woman presents with complaints of persistent lower abdominal pain and fever. She had a copper-releasing intrauterine device inserted nine months ago for contraception. She has multiple sexual partners. On examination, she appears uncomfortable, and her abdomen is tender to palpation in the lower quadrants. Pelvic examination reveals no visible IUD strings. Her vital signs show a temperature of 38.5°C (101.3°F). What is the most likely complication associated with this patient's symptoms?", "options": [{"label": "A", "text": "Expulsion", "correct": false}, {"label": "B", "text": "Uterine perforation", "correct": false}, {"label": "C", "text": "Pelvic inflammatory disease (PID)", "correct": true}, {"label": "D", "text": "Ectopic pregnancy", "correct": false}], "correct_answer": "C. Pelvic inflammatory disease (PID)", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:808px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Side effects of IUDs</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bleeding</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Most common</strong> side effect; <span class=\"customMeta\" data-dictid=\"6c2c85ae6b16927771950809419a59\">physiological</span> <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> resolves in 1-3 months.</li>\n<li>Iron supplementation may be needed.</li>\n<li>Persistent <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> despite treatment may necessitate IUD removal.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pain</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Most common cause for removal</strong></li>\n<li>Managed with analgesics.</li>\n<li>Resolves in 3 months.</li>\n<li>Severe pain may indicate <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> <span class=\"customMeta\" data-dictid=\"23b5d65f051692777195987380382d\">perforation</span> (rare).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pelvic <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Presents with fever, <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain, and discharge.</li>\n<li>Treatment involves <span class=\"customMeta\" data-dictid=\"583de7632e16927771834054d1be58\">broad-spectrum</span> antibiotics.</li>\n<li>IUD removal if no improvement.</li>\n<li>3rd generation of IUD is protective against IUD.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Uterine <span class=\"customMeta\" data-dictid=\"23b5d65f051692777195987380382d\">perforation</span> (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Rare complications <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> to immediate <span class=\"customMeta\" data-dictid=\"3d885759d516927771966b84bfa470\">postpartum</span> <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> or poor technique.</li>\n<li>1st generation IUDs are associated with a higher risk of perforation.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Failure of <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> </strong>➜ <strong> pregnancy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Least pregnancies are reported with MIRENA.</li>\n<li>If a woman requests an <span class=\"customMeta\" data-dictid=\"f3063c1d8b169277719018bf869980\">induced</span> abortion – legally allowed.</li>\n<li>If a woman wants to continue pregnancy and threads are visible:\n\t\t\t\t<ul>\n<li>Pull the thread and continue pregnancy.</li>\n<li>Explain the risk of <span class=\"customMeta\" data-dictid=\"f71e485d131692777199151d1076d2\">spontaneous</span> abortion or <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> anomalies.</li>\n</ul>\n</li>\n<li>If a woman wants to continue pregnancy and threads are not visible:\n\t\t\t\t<ul>\n<li>Uterus examination for any complications. Evacuation of <span class=\"customMeta\" data-dictid=\"0c847ca20416927772011b3397c2fd\">uterus</span> if any <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> is identified.</li>\n<li>If no <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> identified , pregnancy can be continued after removal of IUD if the woman desires with increased risk of <span class=\"customMeta\" data-dictid=\"f71e485d131692777199151d1076d2\">spontaneous</span> abortion and <span class=\"customMeta\" data-dictid=\"d80014dfb516927771962b4857d683\">pre</span> term labour. </li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Ectopic pregnancy (Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Recognized by lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain, dark <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleeding, or amenorrhea.</li>\n<li>Women at high risk should avoid IUDs.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Expulsion </strong><br/>\n<strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Typically occurs within weeks of <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> or during menstruation.</li>\n<li>Higher risk in young, nulliparous, <span class=\"customMeta\" data-dictid=\"3d885759d516927771966b84bfa470\">postpartum</span> women or using 1st generation IUDs</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Migration of IUD</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Rarely causes intestinal obstruction.</li>\n<li>Diagnosed via X-ray <span class=\"customMeta\" data-dictid=\"fe3220767716927771892419444041\">imaging</span> if suspected.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Pr9hpj5pgAibz9rCdhvE1741863797.mp3", "video": ""}, {"text": "What is the name of the IUD shown below?", "options": [{"label": "A", "text": "CuT 380", "correct": true}, {"label": "B", "text": "Nova T", "correct": false}, {"label": "C", "text": "Progestastart", "correct": false}, {"label": "D", "text": "Multiload", "correct": false}], "correct_answer": "A. CuT 380", "question_images": ["https://image.prepladder.com/content/kaykCrrU4j8DS18OjMIb1725514962.png"], "explanation_images": ["https://image.prepladder.com/content/y9jn31bUvU4CyI2Eyui81725514980.png", "https://image.prepladder.com/content/JDx3Ygq7UbQeh2Cawocd1725515025.png", "https://image.prepladder.com/content/JFPnHDxxLQYo5eTcFOb11725515044.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:663px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2nd generation IUDs</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Copper containing device</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism of action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reduces <span class=\"customMeta\" data-dictid=\"8dc15ef09e1692777198320917e46b\">sperm</span> <span class=\"customMeta\" data-dictid=\"c8c1db40c9169277719258df1a6b43\">motility</span> and survival by\n\t\t\t\t<ul>\n<li>altering cervical mucus</li>\n<li>affecting uterine enzymes</li>\n<li>increasing cellular response in the endometrium</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Strong anti-fertility effect</li>\n<li>Low expulsion rate</li>\n<li>Easy to fit in <span class=\"customMeta\" data-dictid=\"341daa40bb169277719303fbd1ce1a\">nulliparous</span> women</li>\n<li>Lesser side effects</li>\n<li>Effective post-coital contraceptive</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Side effects</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Bleeding</li>\n<li>Pain</li>\n<li>Pelvic <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease</li>\n<li>Uterine perforation</li>\n<li>Failure of <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> ➜ Pregnancy</li>\n<li>Ectopic pregnancy</li>\n<li>Expulsion</li>\n<li>Migration of IUD</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CuT 380A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"LeiaWonder \" data-hash=\"\" data-license=\"CC BY-SA 4.0\" data-source=\"https://en.wikipedia.org/wiki/Copper_IUD#/media/File:IUD_with_scale.jpg\" data-tags=\"\" height=\"436\" src=\"https://image.prepladder.com/content/y9jn31bUvU4CyI2Eyui81725514980.png\" width=\"300\"/></p>\n<ul>\n<li>380 mm² of <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> wire around a stem with <span class=\"customMeta\" data-dictid=\"7d418b8fa91692777193a09dec2dca\">nylon</span> thread attached</li>\n<li><strong>Shelf life -10 years</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Nova-T</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"Hubacher, David & Schreiber, Courtney & Turok, David & Jensen, Jeffrey & Creinin, Mitchell & Nanda, Kavita & White, Katharine & Dayananda, Ila & Teal, Stephanie & Chen, Pai-Lien & Chen, Beatrice & Goldberg, Alisa & Kerns, Jennifer & Dart, Clint & Nelson, Anita & Thomas, Michael & Archer, David & Brown, Jill & Castaño, Paula & Blithe, Diana\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://www.researchgate.net/figure/Dimensions-of-TCu380A-and-NT380-Mini_fig3_362053544\" data-tags=\"\" height=\"188\" src=\"https://image.prepladder.com/content/JDx3Ygq7UbQeh2Cawocd1725515025.png\" width=\"300\"/></p>\n<ul>\n<li>CuT 380 A with a silver (Ag) core attached to it</li>\n<li><strong>Shelf life - 5 years</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Multiload</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"LeiaWonder\" data-hash=\"\" data-license=\"CC BY-SA 4.0\" data-source=\"https://en.wikipedia.org/wiki/Copper_IUD#/media/File:Multiload-Gynefix-Paragard.jpg\" data-tags=\"\" height=\"249\" src=\"https://image.prepladder.com/content/JFPnHDxxLQYo5eTcFOb11725515044.png\" width=\"300\"/></p>\n<ul>\n<li>U-shaped ring</li>\n<li>Most commonly used IUD</li>\n<li>CuT 375</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:252px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>IUDs</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Shelf-life</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>CuT380 A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Nova-T</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Progestasert</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 year</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>LNG IUD</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5-8 years</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yu71oTIejEc3dqI0oKTn1741863662.mp3", "video": ""}, {"text": "A 32-year-old woman with a history of heavy menstrual bleeding and dysmenorrhea seeks contraception counseling. She prefers a long-acting reversible contraceptive and is interested in intrauterine devices (IUDs). Which IUD would be the most appropriate choice for her, considering her medical history and preferences?", "options": [{"label": "A", "text": "Mirena", "correct": true}, {"label": "B", "text": "CuT", "correct": false}, {"label": "C", "text": "Lippes loop", "correct": false}, {"label": "D", "text": "Grafenberg ring", "correct": false}], "correct_answer": "A. Mirena", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/zjOrW5Q1I3FwHGcQjaTD1734000870.png", "https://image.prepladder.com/content/GW0KJ9ozpcz1q0l8JF0x1725514663.png", "https://image.prepladder.com/notes/eVNpBEqmUlSNvvfz1w231728966995.png", "https://image.prepladder.com/content/nIKHBQyNzIKSTeElfIVa1725514303.png", "https://image.prepladder.com/content/jGivqnaO5biCpZ0Olr131725514327.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Types of IUDs</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1</strong><strong><sup>st</sup></strong><strong> generation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2</strong><strong><sup>nd</sup></strong><strong> generation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3</strong><strong><sup>rd</sup></strong><strong> generation</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Type</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inert</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Copper-containing</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hormone containing</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Examples</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lippes loop</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>CuT-380A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mirena (LNG-20)</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Grafenberg containing ring</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Nova-T</p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Progestasert</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Multiload</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"left\" cellspacing=\"0\" style=\"border-collapse:collapse; width:651px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1st generation IUD</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid; border-width:1px; text-align:center; vertical-align:top\">\n<p><strong>2nd generation IUD </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3rd generation IUD</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanism of action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Made of polyethene/other polymers</li>\n<li>Foreign body reaction causes <span class=\"customMeta\" data-dictid=\"10c83adb331692777197f775bec1aa\">reduced</span> chances of fertilization</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Contains copper </li>\n<li>Copper acts as spermicide </li>\n<li>Copper changes composition of <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> mucus </li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Releases levonorgestrel</li>\n<li>Increases <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> <span class=\"customMeta\" data-dictid=\"ab75ea330616927771938a64f8ebd6\">mucus</span> thickness</li>\n<li>Makes <span class=\"customMeta\" data-dictid=\"2f1603da6716927771878d0cbdd372\">endometrium</span> unfavorable for implantation</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Non-medicated</li>\n<li>High failure rate</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Highly effective </li>\n<li>Low failure rate </li>\n</ul>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lowest failure rate among IUDs</li>\n<li><strong>Decreases <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> blood loss</strong></li>\n<li>More expensive</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Grafenberg ring</li>\n</ul>\n<p><img alt=\"\" data-author=\"Wellcome Library, London\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Grafenberg_intrauterine_device_(IUD),_Europe,_1925-1935_Wellcome_L0065282.jpg\" data-tags=\"\" height=\"322\" src=\"https://image.prepladder.com/content/zjOrW5Q1I3FwHGcQjaTD1734000870.png\" width=\"300\"/></p>\n<p> </p>\n<ul>\n<li>Lippe’s loop</li>\n</ul>\n<p><img alt=\"\" data-author=\"T. Bekabil\" data-hash=\"\" data-license=\"NA\" data-source=\"https://www.semanticscholar.org/paper/Retained-intrauterine-device%2C-Lippes-loop-device%2C-Bekabil/7a8057cf2ed241e5baf444b2cb4007b1097d9078/figure/0\" data-tags=\"\" height=\"388\" src=\"https://image.prepladder.com/content/GW0KJ9ozpcz1q0l8JF0x1725514663.png\" width=\"300\"/></p>\n<p> </p>\n<p> </p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Nova-T (Noncard)</li>\n<li>Multiload 250.</li>\n</ul>\n<p> </p>\n<p><img alt=\"CuT\" data-author=\"LeiaWonder \" data-hash=\"64\" data-license=\"CC BY-SA 4.0\" data-source=\"https://en.wikipedia.org/wiki/Copper_IUD#/media/File:IUD_with_scale.jpg\" data-tags=\"\" height=\"360\" src=\"https://image.prepladder.com/notes/eVNpBEqmUlSNvvfz1w231728966995.png\" width=\"250\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Mirena/LNG-20 (Releases 20μg of <span class=\"customMeta\" data-dictid=\"183d374ac91692777196c63c850299\">progesterone</span> per day)</li>\n</ul>\n<p><strong>Shelf life- 5-8 years</strong></p>\n<p><img alt=\"\" data-author=\"Sarahmirk\" data-hash=\"\" data-license=\"CC BY-SA 4.0\" data-source=\"https://en.wikipedia.org/wiki/Hormonal_intrauterine_device#/media/File:Mirena_IUD_with_hand.jpg\" data-tags=\"\" height=\"313\" src=\"https://image.prepladder.com/content/nIKHBQyNzIKSTeElfIVa1725514303.png\" width=\"300\"/></p>\n<ul>\n<li>Progestasert (Releases 65μg of <span class=\"customMeta\" data-dictid=\"183d374ac91692777196c63c850299\">progesterone</span> per day)</li>\n</ul>\n<p><strong>Shelf life- 1 year</strong></p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"153\" src=\"https://image.prepladder.com/content/jGivqnaO5biCpZ0Olr131725514327.png\" width=\"300\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Side effects</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Bleeding, Pain</li>\n<li>Pelvic <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease- M/c/c Actinomyces</li>\n<li>Uterine perforation</li>\n<li>Failure of <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> ➜ Pregnancy</li>\n<li>Ectopic pregnancy</li>\n<li>Expulsion, Migration of IUD</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TVUUpbOBB2obQ7WMhDto1741863557.mp3", "video": ""}, {"text": "Which of the following is NOT a form that spermicide is available in?", "options": [{"label": "A", "text": "Jellies", "correct": false}, {"label": "B", "text": "Patches", "correct": true}, {"label": "C", "text": "Creams", "correct": false}, {"label": "D", "text": "Foams", "correct": false}], "correct_answer": "B. Patches", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:565px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Type of contraception</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Chemical barrier</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Mechanism of action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Surface-active agents that attach to spermatozoa, inhibiting oxygen <span class=\"customMeta\" data-dictid=\"cc20d2d7111692777201fb0caeb3f2\">uptake</span> and killing them.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Available as</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Creams, Jellies, Pastes, Suppositories & <span class=\"customMeta\" data-dictid=\"845fedd06d16927771989597afa034\">Soluble</span> films</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>When used in conjunction with barrier methods, offers better pregnancy prevention than if either method were used alone</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Must be used immediately before <span class=\"customMeta\" data-dictid=\"ad25936d1916927771900a1de2dd77\">intercourse</span> and repeated before each sex act</li>\n<li>Must be introduced into regions of the <span class=\"customMeta\" data-dictid=\"8537d8358c169277720162f2f6971b\">vagina</span> where <span class=\"customMeta\" data-dictid=\"8dc15ef09e1692777198320917e46b\">sperm</span> are likely to be deposited</li>\n<li>May cause burning, irritation, or messiness</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Failure rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>High when used alone</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Availability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Not part of the method mix promoted by the National Family Welfare Programme in India</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/uICMnrI863b4g0hTom4R1741863437.mp3", "video": ""}, {"text": "Which of the following statements is false regarding the contraception shown below?", "options": [{"label": "A", "text": "It is made of polyurethane foam and saturated with a spermicide nonoxynol-9", "correct": false}, {"label": "B", "text": "It must be left in place for at least 6 hours after intercourse.", "correct": false}, {"label": "C", "text": "It offers no protection from sexually transmitted infections.", "correct": false}, {"label": "D", "text": "It has a lower failure rate in women who have given birth before.", "correct": true}], "correct_answer": "D. It has a lower failure rate in women who have given birth before.", "question_images": ["https://image.prepladder.com/content/gPREnEhzakz7FFRojAu51734000655.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:691px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Brand name</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>TODAY</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Material</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Small <span class=\"customMeta\" data-dictid=\"fc50d9885a1692777196fa5cad6a17\">polyurethane</span> <span class=\"customMeta\" data-dictid=\"40d72689211692777203fca86e25c9\">foam</span> sponge</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Mechanism of action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Combines barrier and <span class=\"customMeta\" data-dictid=\"fd1ea66547169277719990b69a6279\">spermicidal</span> methods to prevent conception <span class=\"customMeta\" data-dictid=\"bd2ac838bb16927771983dd9afc74c\">Saturated</span> with 1000 mg of spermicide<strong> ‘Non-oxynol-9’</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Technique of use</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Must be run under water till thoroughly wet before insertion</li>\n<li>Inserted vaginally and must be ‘placed over the <span class=\"customMeta\" data-dictid=\"4ac19545431692777184956c031e64\">cervix</span> to be effective</li>\n<li>Must be left in place for 6 hours after ejaculation</li>\n<li>All sponges must be removed within the time limits specified by the manufacturer (24 hours for Today)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>No protection from <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> or STDs</li>\n<li>May lead to <strong>Toxic Shock Syndrome if left beyond 24 hours</strong></li>\n<li>Has to be left for 6 hours post ejaculation</li>\n<li>Increased risk of <span class=\"customMeta\" data-dictid=\"3655d8847516927772026e1e299f2a\">yeast</span> infection and UTI</li>\n<li>Higher failure rate than diaphragm</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Failure rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Parous women: 20-40 per HWY</p>\n<p>Nulliparous women: 9-20 per HWY</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4d9Lp8jp16qxGEWAThRH1747426349.mp3", "video": ""}, {"text": "Match the following contraceptives with their appropriate classification CATEGORY 1 CATEGORY 2 A. Spermicide 1. Physiological method B. Grafenberg Ring 2. Chemical barrier method C. Nuva rings 3. IUD D. Tubectomy 4. Hormonal contraceptive E. Coitus interruptus 5. Terminal surgical contraception", "options": [{"label": "A", "text": "A-1 B-3 C-2 D-5 E- 4", "correct": false}, {"label": "B", "text": "A-2 B-3 C-4 D-5 E- 1", "correct": true}, {"label": "C", "text": "A-3 B-2 C-4 D-1 E-5", "correct": false}, {"label": "D", "text": "A-2 B-4 C-1 D-5 E-3", "correct": false}], "correct_answer": "B. A-2 B-3 C-4 D-5 E- 1", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/FjlWswKBLT6m6QZ2eC5N1734000190.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"499\" src=\"https://image.prepladder.com/content/FjlWswKBLT6m6QZ2eC5N1734000190.png\" width=\"500\"/></td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/as7pomIVcvyEiqE5eV1d1741862348.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 37 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following statements about the given image is not true?", "options": [{"label": "A", "text": "It is inserted by withdrawal technique", "correct": false}, {"label": "B", "text": "The copper in this device has a surface area of 380 square mm", "correct": false}, {"label": "C", "text": "It has a life-span of 5 years", "correct": true}, {"label": "D", "text": "It is used in emergency contraception", "correct": false}], "correct_answer": "C. It has a life-span of 5 years", "question_images": ["https://image.prepladder.com/content/4ZC5Ei4sONakVpmW0YYf1746695620.png"], "explanation_images": ["https://image.prepladder.com/content/rjauzCDNuSzYvDoIar4Y1746695832.png", "https://image.prepladder.com/content/c8jstG3BUeslMdqSwjyQ1746695840.png", "https://image.prepladder.com/content/EKAc6Iem1Y1ScPo0Q7dp1746695848.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>2nd generation IUDs</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Copper containing device</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Mechanism of action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Reduces <span class=\"customMeta\" data-dictid=\"8dc15ef09e1692777198320917e46b\">sperm</span> <span class=\"customMeta\" data-dictid=\"c8c1db40c9169277719258df1a6b43\">motility</span> and survival\n\t\t\t\t<ul>\n<li>alters <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> mucus</li>\n<li>affects <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> enzymes</li>\n<li>increases <span class=\"customMeta\" data-dictid=\"12a6f23332169277718402ca6703e2\">cellular</span> response in endometrium</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Strong anti-fertility effect</li>\n<li>Low expulsion rate</li>\n<li>Easy to fit in <span class=\"customMeta\" data-dictid=\"341daa40bb169277719303fbd1ce1a\">nulliparous</span> women</li>\n<li>Lesser side effects</li>\n<li>Effective post-coital <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> <strong>(Option D ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Side effects</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Bleeding</li>\n<li>Pain</li>\n<li>Pelvic <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease</li>\n<li>Uterine perforation</li>\n<li>Failure of <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> ➜ Pregnancy</li>\n<li>Ectopic pregnancy</li>\n<li>Expulsion</li>\n<li>Migration of IUD</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Insertion technique</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Withdrawl technique <strong>(Option A ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>CuT 380A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"LeiaWonder \" data-hash=\"\" data-license=\"CC BY-SA 4.0\" data-source=\"https://en.wikipedia.org/wiki/Copper_IUD#/media/File:IUD_with_scale.jpg\" data-tags=\"\" height=\"613\" src=\"https://image.prepladder.com/content/rjauzCDNuSzYvDoIar4Y1746695832.png\" width=\"422\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<ul>\n<li>380 mm² of <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> wire around a stem with <span class=\"customMeta\" data-dictid=\"7d418b8fa91692777193a09dec2dca\">nylon</span> thread attached <strong>(Option B ruled out)</strong></li>\n<li><strong>Shelf life -10 years (Option C)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Nova-T</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Hubacher, David & Schreiber, Courtney & Turok, David & Jensen, Jeffrey & Creinin, Mitchell & Nanda, Kavita & White, Katharine & Dayananda, Ila & Teal, Stephanie & Chen, Pai-Lien & Chen, Beatrice & Goldberg, Alisa & Kerns, Jennifer & Dart, Clint & Nelson, Anita & Thomas, Michael & Archer, David & Brown, Jill & Castaño, Paula & Blithe, Diana\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://www.researchgate.net/figure/Dimensions-of-TCu380A-and-NT380-Mini_fig3_362053544\" data-tags=\"\" height=\"545\" src=\"https://image.prepladder.com/content/c8jstG3BUeslMdqSwjyQ1746695840.png\" width=\"421\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<ul>\n<li><strong>CuT 380 A with a silver (Ag) core</strong> attached to it</li>\n<li><strong>Shelf life - 5 years</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Multiload</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"LeiaWonder\" data-hash=\"\" data-license=\"CC BY-SA 4.0\" data-source=\"https://en.wikipedia.org/wiki/Copper_IUD#/media/File:Multiload-Gynefix-Paragard.jpg\" data-tags=\"\" height=\"390\" src=\"https://image.prepladder.com/content/EKAc6Iem1Y1ScPo0Q7dp1746695848.png\" width=\"372\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<ul>\n<li>U-shaped ring</li>\n<li>Most commonly used IUD</li>\n<li>CuT 375</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not included in the scope of modern family planning services?", "options": [{"label": "A", "text": "Proper spacing and limiting childbirth", "correct": false}, {"label": "B", "text": "Genetic counseling", "correct": false}, {"label": "C", "text": "Not Providing adoption services", "correct": true}, {"label": "D", "text": "Education on parenthood", "correct": false}], "correct_answer": "C. Not Providing adoption services", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A female presents at 22 weeks of pregnancy due to rape. Which statement is correct regarding medical termination of pregnancy (MTP)?", "options": [{"label": "A", "text": "Between 20-24 weeks, one doctor’s opinion is required", "correct": false}, {"label": "B", "text": "Between 20-24 weeks, MTP is only done if it is life-saving for the mother", "correct": false}, {"label": "C", "text": "MTP can be done up to 24 weeks in this case", "correct": true}, {"label": "D", "text": "MTP can be done after 24 weeks.", "correct": false}], "correct_answer": "C. MTP can be done up to 24 weeks in this case", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - <span class=\"customMeta\" data-dictid=\"eb06d1383216927771938c9eadb451\">MTP</span> can be done up to 24 weeks in th\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A couple approaches the doctor with a query regarding sexual precautions following the male partner's vasectomy procedure conducted a month ago. What guidance should be provided in this situation?", "options": [{"label": "A", "text": "Oral contraceptive pills for 1 month for the woman", "correct": false}, {"label": "B", "text": "Use condoms for 3 months", "correct": true}, {"label": "C", "text": "No special advice", "correct": false}, {"label": "D", "text": "Hormonal treatment given for 2 more months for the man", "correct": false}], "correct_answer": "B. Use condoms for 3 months", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/88q7TIwWPXzGnx31stcT1746691686.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most frequent side effect experienced by a 24-year-old woman of reproductive age who visited a rural primary healthcare center in India for the purpose of having an IUCD inserted to prevent pregnancy?", "options": [{"label": "A", "text": "Ectopic pregnancy", "correct": false}, {"label": "B", "text": "Pelvic infection", "correct": false}, {"label": "C", "text": "Pain", "correct": false}, {"label": "D", "text": "Bleeding", "correct": true}], "correct_answer": "D. Bleeding", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Side effects of IUDs</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Bleeding (Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Most common side effect</strong>; <span class=\"customMeta\" data-dictid=\"6c2c85ae6b16927771950809419a59\">physiological</span> <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> resolves in 1-3 months. Iron supplementation may be needed.</li>\n<li>Persistent <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> despite treatment may necessitate IUD removal.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Pain (Option C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Frequently causes removal; managed with analgesics. Resolves in 3 months. Severe pain may indicate <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> <span class=\"customMeta\" data-dictid=\"23b5d65f051692777195987380382d\">perforation</span> (rare).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Pelvic <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease</strong> <strong>(OptionB ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Certain organisms reach the uterus, <span class=\"customMeta\" data-dictid=\"efc83dab2c1692777202b5d1d06c4f\">fallopian</span> tubes, and ovaries via the IUD thread. Presents with fever, <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain, and discharge. Higher risk in women with multiple sexual partners. Requires <span class=\"customMeta\" data-dictid=\"583de7632e16927771834054d1be58\">broad-spectrum</span> antibiotics; IUD removal if no improvement.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Uterine <span class=\"customMeta\" data-dictid=\"23b5d65f051692777195987380382d\">perforation</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rare complications <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> to immediate <span class=\"customMeta\" data-dictid=\"3d885759d516927771966b84bfa470\">postpartum</span> <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> or poor technique. 1st generation IUDs are associated with a higher risk of pregnancy.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Failure of <span class=\"customMeta\" data-dictid=\"ec56ec0a50169277718538a912cf18\">contraception</span> </strong>➜ <strong> pregnancy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Least pregnancies are reported with MIRENA.</li>\n<li>If a woman requests an <span class=\"customMeta\" data-dictid=\"f3063c1d8b169277719018bf869980\">induced</span> abortion – legally allowed.</li>\n<li>If a woman wants to continue pregnancy and threads are visible:\n\t\t\t\t<ul>\n<li>Pull the thread and continue pregnancy.</li>\n<li>Explain the risk of <span class=\"customMeta\" data-dictid=\"f71e485d131692777199151d1076d2\">spontaneous</span> abortion or <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> anomalies.</li>\n</ul>\n</li>\n<li>If a woman wants to continue pregnancy and threads are not visible:\n\t\t\t\t<ul>\n<li>Uterus examination for any complications</li>\n<li>Evacuation of <span class=\"customMeta\" data-dictid=\"0c847ca20416927772011b3397c2fd\">uterus</span> if any <span class=\"customMeta\" data-dictid=\"8a6b09beac1692777184b08a2b5766\">complication</span> is identified.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Ectopic pregnancy (OPTION A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recognized by lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain, dark <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleeding, or amenorrhea. Women at high risk should avoid IUDs.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Expulsion </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Typically occurs within weeks of <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> or during menstruation; higher risk in young, nulliparous, <span class=\"customMeta\" data-dictid=\"3d885759d516927771966b84bfa470\">postpartum</span> women or using 1st generation IUDs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Migration of IUD</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rarely causes intestinal obstruction; diagnosed via X-ray <span class=\"customMeta\" data-dictid=\"fe3220767716927771892419444041\">imaging</span> if suspected.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 25 year old female is using vaginal sponge as a barrier contraceptive during sexual intercourse. Which of the following Spermicide is used in contraceptive 'TODAY'?", "options": [{"label": "A", "text": "NET-EN", "correct": false}, {"label": "B", "text": "DMPA", "correct": false}, {"label": "C", "text": "Nonoxynol-9", "correct": true}, {"label": "D", "text": "Norethisterone", "correct": false}], "correct_answer": "C. Nonoxynol-9", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/iuMFV40gpuHXMFQniSKH1746690985.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Brand name</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>TODAY</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p><strong>Material</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>Small <span class=\"customMeta\" data-dictid=\"fc50d9885a1692777196fa5cad6a17\">polyurethane</span> <span class=\"customMeta\" data-dictid=\"40d72689211692777203fca86e25c9\">foam</span> sponge</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p><strong>Mechanism of action</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p>Combines barrier and <span class=\"customMeta\" data-dictid=\"fd1ea66547169277719990b69a6279\">spermicidal</span> methods to prevent conception Saturated with 1000 mg of spermicide<strong> ‘Non-oxynol-9’</strong><strong> (Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p><strong>Technique of use</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<ul>\n<li>Must be run under water till thoroughly wet before insertion</li>\n<li>Inserted vaginally and must be ‘placed over the <span class=\"customMeta\" data-dictid=\"4ac19545431692777184956c031e64\">cervix</span> to be effective</li>\n<li>Must be left in place for 6 hours after ejaculation</li>\n<li>All sponges must be removed within the time limits specified by the manufacturer (24 hours for Today)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<ul>\n<li>No protection from HIV or STDs</li>\n<li>May lead to <strong>Toxic Shock Syndrome if left beyond 24 hours</strong></li>\n<li>Has to be left for 6 hours post ejaculation</li>\n<li>Increased risk of <span class=\"customMeta\" data-dictid=\"3655d8847516927772026e1e299f2a\">yeast</span> infection and UTI</li>\n<li>Higher failure rate than diaphragm</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p><strong>Failure rate</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<ul>\n<li>Parous women: 20-40 per HWY</li>\n<li>Nulliparous women: 9-20 per HWY</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is an absolute contraindication for the device shown in the image below?", "options": [{"label": "A", "text": "Anemia", "correct": false}, {"label": "B", "text": "Vaginal bleeding", "correct": true}, {"label": "C", "text": "Uterine malformations", "correct": false}, {"label": "D", "text": "Uterine fibroids", "correct": false}], "correct_answer": "B. Vaginal bleeding", "question_images": ["https://image.prepladder.com/content/7woYQOgabMZE0ivZvhkc1746104083.png"], "explanation_images": [], "explanation": "<p>Correct Answer B - <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">Vaginal</span> bleeding\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The duration for which copper T 380 A remains effective is referred to as its shelf life.", "options": [{"label": "A", "text": "3 years", "correct": false}, {"label": "B", "text": "5 years", "correct": false}, {"label": "C", "text": "7 years", "correct": false}, {"label": "D", "text": "10 years", "correct": true}], "correct_answer": "D. 10 years", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "All are given as emergency contraceptives except:", "options": [{"label": "A", "text": "LNG 0.75 mg 2 tab", "correct": false}, {"label": "B", "text": "Ethyline Estradiol tablet", "correct": false}, {"label": "C", "text": "Ulipristal", "correct": false}, {"label": "D", "text": "OCP 2 tab within 24 hrs, repeat dose after 14 days", "correct": true}], "correct_answer": "D. OCP 2 tab within 24 hrs, repeat dose after 14 days", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - OCP 2 tab within 24 hrs, repeat dose after 14\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which type of cancer won't be affected if a patient uses OCP, which is a protective factor for?", "options": [{"label": "A", "text": "Endometrial cancer", "correct": true}, {"label": "B", "text": "Cervical cancer", "correct": false}, {"label": "C", "text": "Breast cancer", "correct": false}, {"label": "D", "text": "Bladder cancer", "correct": false}], "correct_answer": "A. Endometrial cancer", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A: E\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Spermicide used in contraceptive is?", "options": [{"label": "A", "text": "Gossypol", "correct": false}, {"label": "B", "text": "Non-oxynol 9", "correct": true}, {"label": "C", "text": "Centchroman", "correct": false}, {"label": "D", "text": "Clomiphene", "correct": false}], "correct_answer": "B. Non-oxynol 9", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Chemical Contraceptive</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>How It Works</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Advantages</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Disadvantages</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Nonoxynol-9</strong></p>\n</td>\n<td>\n<p>Disrupts <span class=\"customMeta\" data-dictid=\"8dc15ef09e1692777198320917e46b\">sperm</span> membranes, immobilizing or killing sperm</p>\n</td>\n<td>\n<ul>\n<li>Readily available and affordable</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>May cause <span class=\"customMeta\" data-dictid=\"3a74ed0fcf16927771901a79847565\">irritation</span> or allergic reactions</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Contraceptive Sponge</strong></p>\n</td>\n<td>\n<p>Contains <span class=\"customMeta\" data-dictid=\"40cdb0896416927771998564e4c0e4\">spermicide</span> that immobilizes or kills sperm</p>\n</td>\n<td>\n<ul>\n<li>Convenient and non-hormonal</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Less effective than some other <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">contraceptive</span> methods</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Spermicidal Cream/Gel</strong></p>\n</td>\n<td>\n<p>Contains chemicals that <span class=\"customMeta\" data-dictid=\"87bf05a56616927771893b9550e8ad\">immobilize</span> or kill sperm</p>\n</td>\n<td>\n<ul>\n<li>Non-hormonal and can be used on-demand</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>May cause <span class=\"customMeta\" data-dictid=\"3a74ed0fcf16927771901a79847565\">irritation</span> or allergic reactions</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Vaginal Suppositories</strong></p>\n</td>\n<td>\n<p>Release <span class=\"customMeta\" data-dictid=\"fd1ea66547169277719990b69a6279\">spermicidal</span> chemicals into the vagina</p>\n</td>\n<td>\n<ul>\n<li>Easy to use and can be inserted discreetly</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Requires <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> prior to intercourse</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Vaginal Film</strong></p>\n</td>\n<td>\n<p>Dissolves and releases <span class=\"customMeta\" data-dictid=\"fd1ea66547169277719990b69a6279\">spermicidal</span> chemicals in the vagina</p>\n</td>\n<td>\n<ul>\n<li>Convenient and can be used on-demand</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Requires <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> prior to intercourse</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Vaginal Foam</strong></p>\n</td>\n<td>\n<p>Creates a <span class=\"customMeta\" data-dictid=\"40d72689211692777203fca86e25c9\">foam</span> that immobilizes or kills sperm</p>\n</td>\n<td>\n<ul>\n<li>Easy to use and provides <span class=\"customMeta\" data-dictid=\"8fb8df140b1692777191702bbc9358\">localized</span> application</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>Requires <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> prior to intercourse</li>\n<li>May cause <span class=\"customMeta\" data-dictid=\"3a74ed0fcf16927771901a79847565\">irritation</span> or discomfort</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Target couple is", "options": [{"label": "A", "text": "Currently married couple where the wife is in reproductive age (15-49 yr. of age)", "correct": false}, {"label": "B", "text": "Eligible couples who have 2 – 3 living children", "correct": true}, {"label": "C", "text": "Couple using contraception", "correct": false}, {"label": "D", "text": "Couple with 3 children", "correct": false}], "correct_answer": "B. Eligible couples who have 2 – 3 living children", "question_images": [], "explanation_images": [], "explanation": "<p>Correct option B: Eligible couples who have 2 – 3 living ch\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which contraceptive method should not be used in cases of deep vein thrombosis (DVT)?", "options": [{"label": "A", "text": "IUD", "correct": false}, {"label": "B", "text": "Condoms", "correct": false}, {"label": "C", "text": "OCP", "correct": true}, {"label": "D", "text": "No C/l", "correct": false}], "correct_answer": "C. OCP", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p><strong>Contraceptive Method</strong></p>\n</td>\n<td>\n<p><strong>Contraindications</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"9\">\n<p>Combined Oral Contraceptives</p>\n<p>(COCs)</p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n</td>\n<td>\n<ul>\n<li>History of blood clots, stroke, or heart disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Liver disease or tumors</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Breast cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Severe <span class=\"customMeta\" data-dictid=\"45372f6c361692777189ff3209e642\">hypertension</span> (high blood pressure)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Migraine with aura</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Current or history of certain types of cancer, such as liver, cervical, or <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Smokers over the age of 35</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Uncontrolled diabetes</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>History of <span class=\"customMeta\" data-dictid=\"1f51bf91811692777188d929c8e851\">gallbladder</span> disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"9\">\n<p>Progestin-Only Pills (POPs)</p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n</td>\n<td>\n<ul>\n<li>Current or history of breast cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Liver disease or tumors</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Unexplained <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleeding</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Severe <span class=\"customMeta\" data-dictid=\"45372f6c361692777189ff3209e642\">hypertension</span> (high blood pressure)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Migraine with aura</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Known or suspected pregnancy</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Active liver disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Severe liver dysfunction</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Previous <span class=\"customMeta\" data-dictid=\"0decefe0901692777186f7f3f89b2a\">ectopic</span> pregnancy</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"9\">\n<p>Contraceptive Patch</p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n</td>\n<td>\n<ul>\n<li>History of blood clots, stroke, or heart disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Liver disease or tumors</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Breast cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Uncontrolled <span class=\"customMeta\" data-dictid=\"45372f6c361692777189ff3209e642\">hypertension</span> (high blood pressure)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Migraine with aura</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>History of certain types of cancer, such as liver, cervical, or <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Smokers over the age of 35</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Obesity (BMI ≥ 30)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Age over 35 and heavy smoking (15 or more cigarettes per day)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"6\">\n<p>Contraceptive Implants</p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n</td>\n<td>\n<ul>\n<li>Known or suspected pregnancy</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Active liver disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Liver tumors</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Unexplained <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleeding</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Breast cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Hypersensitivity to the implant components</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"8\">Intrauterine Devices (IUDs)\n\t\t\t<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n</td>\n<td>\n<ul>\n<li>Current <span class=\"customMeta\" data-dictid=\"7cd6eb19341692777195d83aafdcb3\">pelvic</span> <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease (PID) or history of <span class=\"customMeta\" data-dictid=\"c64e3a661b1692777197afc2ff7bca\">recurrent</span> PID</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Current or recent (within the past 3 months) <span class=\"customMeta\" data-dictid=\"7cd6eb19341692777195d83aafdcb3\">pelvic</span> infection</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Unexplained <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleeding</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Known or suspected pregnancy</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Uterine abnormalities</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Active cervical, uterine, or ovarian cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Wilson's disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Copper <span class=\"customMeta\" data-dictid=\"aa1288c36b16927771814fa5aa84eb\">allergy</span> (for <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> IUD)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Barrier Methods</p>\n</td>\n<td>\n<ul>\n<li>None</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What are the absolute contraindications for intrauterine contraceptive devices (IUCDs)?", "options": [{"label": "A", "text": "Anaemia", "correct": false}, {"label": "B", "text": "DVT", "correct": false}, {"label": "C", "text": "Acute PID", "correct": true}, {"label": "D", "text": "Endometrioses", "correct": false}], "correct_answer": "C. Acute PID", "question_images": [], "explanation_images": [], "explanation": "<table style=\"width:100%\">\n<tbody>\n<tr>\n<td><strong>Absolute</strong></td>\n<td><strong>Relative </strong></td>\n</tr>\n<tr>\n<td>Pregnancy</td>\n<td>Anemia, Menorrhagia </td>\n</tr>\n<tr>\n<td>Recurrent PID</td>\n<td>History of PID </td>\n</tr>\n<tr>\n<td>Vaginal <span class=\"customMeta\" data-dictid=\"9dd87431ba1692777186ecfb21d258\">discharge</span> of undiagnosed etiology </td>\n<td>Purulent <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> discharge </td>\n</tr>\n<tr>\n<td>Cancer of cervix, <span class=\"customMeta\" data-dictid=\"0c847ca20416927772011b3397c2fd\">uterus</span> or adnexa </td>\n<td>Distortion of <span class=\"customMeta\" data-dictid=\"59ff8b38191692777201150e72ebc3\">uterine</span> cavities e.g., <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">congenital</span> malformations, fibroids </td>\n</tr>\n<tr>\n<td>Previous <span class=\"customMeta\" data-dictid=\"0decefe0901692777186f7f3f89b2a\">ectopic</span> pregnancy </td>\n<td>Unmotivated person </td>\n</tr>\n</tbody>\n\n<table>\n<tbody>\n<tr>\n<td>\n<p><strong>Contraceptive Method</strong></p>\n</td>\n<td>\n<p><strong>Contraindications</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"8\">\n<p>Intrauterine Devices (IUDs)</p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n<p> </p>\n</td>\n<td>\n<ul>\n<li>Current <span class=\"customMeta\" data-dictid=\"7cd6eb19341692777195d83aafdcb3\">pelvic</span> <span class=\"customMeta\" data-dictid=\"9d21dd5d3116927771907405b181bc\">inflammatory</span> disease (PID) or history of <span class=\"customMeta\" data-dictid=\"c64e3a661b1692777197afc2ff7bca\">recurrent</span> PID</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Current or recent (within the past 3 months) <span class=\"customMeta\" data-dictid=\"7cd6eb19341692777195d83aafdcb3\">pelvic</span> infection</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Unexplained <span class=\"customMeta\" data-dictid=\"9a1e50b8221692777201b95b66c9de\">vaginal</span> bleeding</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Known or suspected pregnancy</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Uterine abnormalities</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Active cervical, uterine, or ovarian cancer</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Wilson's disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>Copper <span class=\"customMeta\" data-dictid=\"aa1288c36b16927771814fa5aa84eb\">allergy</span> (for <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">copper</span> IUD)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The most suitable contraceptive recommendation for a recently married couple is:", "options": [{"label": "A", "text": "OCPs", "correct": true}, {"label": "B", "text": "Condoms", "correct": false}, {"label": "C", "text": "Sterilization", "correct": false}, {"label": "D", "text": "IUD", "correct": false}], "correct_answer": "A. OCPs", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ When providing contraceptive advice to a newly married couple, several factors need to be considered, including effectiveness, convenience, safety, and personal preferences. While the choice ultimately depends on the couple's specific needs and circumstances, oral contraceptive pills (OCPs) are often a suitable option for many couples.</li><li>↳ OCPs (Oral Contraceptive Pills): OCPs are a highly effective form of contraception when used correctly. They provide reliable pregnancy prevention, are convenient to use, and have additional benefits such as regulating menstrual cycles, reducing menstrual pain, and improving acne. OCPs can be started immediately and discontinued when the couple decides to conceive.</li><li>↳ OCPs (Oral Contraceptive Pills):</li><li>↳ Incorrect Options:</li><li>↳ Incorrect Options:</li><li>↳ Option B: Condoms: Condoms are a barrier method of contraception that provide protection against both unintended pregnancies and sexually transmitted infections (STIs). They are easily accessible, affordable, and do not require a prescription. Condoms can be a good option for couples who prefer non-hormonal methods or need STI protection in addition to contraception. However, they may have a higher failure rate compared to hormonal methods like OCPs.</li><li>↳ Option B: Condoms:</li><li>↳ Option C: Sterilization: Sterilization, such as tubal ligation for women or vasectomy for men, is a permanent method of contraception. It is considered a long-term and highly effective option for couples who have completed their desired family size or do not wish to have biological children. Sterilization should be approached as a permanent decision, as reversal procedures are costly and not always successful.</li><li>↳ Option C: Sterilization:</li><li>↳ Option D: IUD (Intrauterine Device): IUDs are long-acting reversible contraceptives that offer highly effective contraception for an extended period. They can be a suitable choice for couples who desire long-term contraception without the need for daily or frequent user involvement. However, IUDs require a healthcare provider's insertion, which may not be immediately accessible for a newly married couple.</li><li>↳ Option D: IUD (Intrauterine Device):</li></u\n<p><strong>References:</strong></p>\n<ul><li>↳ Importance of Family Planning: Newly married couples may have different aspirations and plans for their future. Family planning through contraception enables them to establish a strong foundation in their marriage, pursue education or career goals, and ensure emotional and financial stability before starting a family.</li><li>↳ Choice of Contraceptive Methods: There are various contraceptive methods available for newly wedded couples. The choice of method depends on factors such as effectiveness, convenience, personal preferences, health conditions, and future pregnancy plans. Some commonly used methods include: a. Barrier Methods: These include male and female condoms, diaphragms, and cervical caps. They provide a physical barrier to prevent sperm from reaching the egg. b. Hormonal Methods: These include combined oral contraceptives (COCs), progestin-only pills (POPs), contraceptive patches, injections, implants, and hormonal intrauterine devices (IUDs). They work by altering hormone levels to inhibit ovulation, thinning the uterine lining, and thickening cervical mucus. c. Intrauterine Devices (IUDs): These small, T-shaped devices are inserted into the uterus to prevent pregnancy. They can be hormonal (releasing progestin) or non-hormonal (copper-based) and provide long-term contraception. d. Sterilization: Permanent methods like tubal ligation (for women) or vasectomy (for men) can be considered if the couple has completed their desired family size.</li><li>↳ Counseling and Education: Newly wedded couples should receive comprehensive counseling on different contraceptive methods. They should understand the benefits, effectiveness, possible side effects, and proper usage of each method. Couples should also be aware of emergency contraception options in case of contraceptive failure or unprotected intercourse.</li><li>↳ Dual Protection: Newly wedded couples may also consider using dual protection by combining two methods, such as using condoms along with hormonal contraceptives. This provides added protection against unintended pregnancies and reduces the risk of sexually transmitted infections (STIs).</li><li>↳ Regular Follow-up and Reassessment: Couples should have regular follow-up visits with a healthcare provider to assess the effectiveness of the chosen contraceptive method and address any concerns or side effects. As their needs may change over time, periodic reassessment of the contraceptive method may be necessary.</li><li>↳ Communication and Shared Decision-Making: It is important for newly wedded couples to openly communicate about their contraception preferences, concerns, and future plans. Shared decision-making ensures that both partners are actively involved in choosing the most suitable contraceptive method for their unique circumstances.</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What should be the minimum rate of couple protection in order to achieve the demographic target of NRR = 1? NRR: Net Reproduction Rate", "options": [{"label": "A", "text": "50%", "correct": false}, {"label": "B", "text": "40%", "correct": false}, {"label": "C", "text": "70%", "correct": false}, {"label": "D", "text": "60%", "correct": true}], "correct_answer": "D. 60%", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D: 60%\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which contraceptive method has the highest reported failure rate?", "options": [{"label": "A", "text": "Spermicidal methods", "correct": true}, {"label": "B", "text": "Implant", "correct": false}, {"label": "C", "text": "Oral contraceptive pills", "correct": false}, {"label": "D", "text": "IUD", "correct": false}], "correct_answer": "A. Spermicidal methods", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Contraceptive Method</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Typical Failure Rate</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Barrier Methods</strong></p>\n</td>\n<td>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Male Condom</p>\n</td>\n<td>\n<p>13% (with typical use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Female Condom</p>\n</td>\n<td>\n<p>21% (with typical use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Hormonal Methods</strong></p>\n</td>\n<td>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Combined Oral Contraceptives</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Progestin-Only Pills</p>\n</td>\n<td>\n<p>5% (with typical use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- <span class=\"customMeta\" data-dictid=\"c3d7276c3e1692777190b4b6762dd0\">Injectable</span> Contraceptives</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Implant</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Intrauterine Devices (IUDs)</strong></p>\n</td>\n<td>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">Copper</span> IUD</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Hormonal IUD</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Permanent Methods</strong></p>\n</td>\n<td>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- <span class=\"customMeta\" data-dictid=\"a970a38e85169277720171bea632e7\">Tubal</span> Ligation</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Vasectomy</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p><strong>Emergency Contraception</strong></p>\n</td>\n<td>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- Emergency <span class=\"customMeta\" data-dictid=\"a13cdc2a8a1692777185da87f2ff85\">Contraceptive</span> Pill</p>\n</td>\n<td>\n<p>1-2% (with typical use)</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>- <span class=\"customMeta\" data-dictid=\"7b5fb2b56416927771858f02fd5508\">Copper</span> <span class=\"customMeta\" data-dictid=\"0a1f2085da1692777190fa4d489421\">IUD</span> as Emergency Contraception</p>\n</td>\n<td>\n<p>Less than 1% (with perfect use)</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 27 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "What is the population covered by Municipal Boards?", "options": [{"label": "A", "text": "5000-10,000", "correct": false}, {"label": "B", "text": "5,00,000", "correct": false}, {"label": "C", "text": "10,000-2,00,000", "correct": true}, {"label": "D", "text": "10,000-50,000", "correct": false}], "correct_answer": "C. 10,000-2,00,000", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Head</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Chairman or President, elected by members of the Municipal Board.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Term</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Typically 3 to 5 years.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Functions</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<ul>\n<li>Construction and maintenance of roads, bridges, and public infrastructure.</li>\n<li>Sanitation and <span class=\"customMeta\" data-dictid=\"dd824a31e71692777186c7f8168998\">drainage</span> systems.</li>\n<li>Street lighting.</li>\n<li>Water supply.</li>\n<li>Maintenance of hospitals and dispensaries.</li>\n<li>Education.</li>\n<li>Civil <span class=\"customMeta\" data-dictid=\"ecc2886bef169277719705c1e5adf2\">registration</span> (births and deaths).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<ul>\n<li>Executive Agency: This includes the Commissioner, Secretary, Engineer, and Health Officer.</li>\n<li>Councillors: Elected from different wards of the city.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PmdFMmQ2FF5XJsDVU33f1742798974.mp3", "video": ""}, {"text": "The logo shown above represents a health scheme launched by the Government of India. What is the primary objective of this program?", "options": [{"label": "A", "text": "To provide comprehensive outbreak response essential drugs and diagnostic services.", "correct": false}, {"label": "B", "text": "To offer health insurance coverage to the economically disadvantaged", "correct": true}, {"label": "C", "text": "To reduce morbidity due to vaccine-preventable diseases in children", "correct": false}, {"label": "D", "text": "To promote accessible, affordable, and quality healthcare to the rural population", "correct": false}], "correct_answer": "B. To offer health insurance coverage to the economically disadvantaged", "question_images": ["https://image.prepladder.com/content/IcQHnMF8VrZdRPeI2EhN1719914599.png"], "explanation_images": ["https://image.prepladder.com/content/ceES3YsAiBDIQB6jmmHX1719914678.png", "https://image.prepladder.com/content/WPsn7D579UbwSGUvecT21719914742.png", "https://image.prepladder.com/content/UtM6QCF2Vy9Ky5SzRXYb1719914794.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6NCO9SaybAoS6nyEi1Y91742800108.mp3", "video": ""}, {"text": "A 30-year-old laborer struggles to access basic healthcare services due to high costs and limited availability. The logo shown below represents an initiative that aims to address issues like the one faced by this patient. Which healthcare concept does this logo represent?", "options": [{"label": "A", "text": "National Program for Prevention and Control of cancer and diabetes", "correct": false}, {"label": "B", "text": "Universal Health Coverage", "correct": true}, {"label": "C", "text": "Integrated disease surveillance project", "correct": false}, {"label": "D", "text": "Accessible India Campaign", "correct": false}], "correct_answer": "B. Universal Health Coverage", "question_images": ["https://image.prepladder.com/content/JAv86aQUUW6Lcflo6DiY1734288349.png"], "explanation_images": ["https://image.prepladder.com/content/3Vbe1YWRUzDwKl6rrGm91734288043.png", "https://image.prepladder.com/content/i6S8Lre4bJUrZuiX7wDC1719914128.png", "https://image.prepladder.com/content/Ndyj3dSPFj2oSYTpQF3u1719914151.png", "https://image.prepladder.com/content/4xwwxQmUNPivpuDawh9J1719914163.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">The<strong> Accessible India Campaign (Sugamya Bharat Abhiyan) was </strong>launched to create a barrier-free and favorable environment for universal accessibility to people with disabilities.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"122\" src=\"https://image.prepladder.com/content/i6S8Lre4bJUrZuiX7wDC1719914128.png\" width=\"127\"/></td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">The <strong>Integrated Disease Surveillance Project (IDSP)</strong> is designed to improve disease surveillance and response to outbreaks.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"196\" src=\"https://image.prepladder.com/content/Ndyj3dSPFj2oSYTpQF3u1719914151.png\" width=\"152\"/></td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">The <strong>National Programme for Prevention and Control of Non-Communicable Diseases (NPCDCS)</strong> aims to tackle non-communicable diseases (NCDs) through prevention, early diagnosis, and management.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"158\" src=\"https://image.prepladder.com/content/4xwwxQmUNPivpuDawh9J1719914163.png\" width=\"177\"/></td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SyP3rDYwOVFtWWcBV5oF1742799988.mp3", "video": ""}, {"text": "Which primary healthcare principle is represented by the displayed image to ensure appropriate usability and quality?", "options": [{"label": "A", "text": "Appropriate Technology", "correct": true}, {"label": "B", "text": "Community Participation", "correct": false}, {"label": "C", "text": "Intersectoral Coordination", "correct": false}, {"label": "D", "text": "Equitable Distribution", "correct": false}], "correct_answer": "A. Appropriate Technology", "question_images": ["https://image.prepladder.com/content/xNvwSty2mktmUHs9KFMm1719913360.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Equitable distribution (Option D):</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Equitable distribution of health services irrespective of their socio-economic status.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Intersectoral <span class=\"customMeta\" data-dictid=\"3820ba101416927771858fe257e119\">coordination</span> (Option C):</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Involves collaboration from other sectors like agriculture, education, etc.</li>\n<li>Maintains good health.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Appropriate technology (Option A):</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Use of technology that is accessible, affordable, and suitable for the community</li>\n<li>Eg:\n\t\t\t\t<ul>\n<li>ORS</li>\n<li>VVM (Vaccine <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">Vial</span> Monitor): Heat sensitive label</li>\n<li>Shakir tape: <span class=\"customMeta\" data-dictid=\"cbd2d1fd521692777191d00c1a4ede\">Malnutrition</span> grading</li>\n<li>Kangaroo mother care: <span class=\"customMeta\" data-dictid=\"ac9f7287191692777196e8c02d1f3d\">Preterm</span> care</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Community participation (Option B):</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Ensure the participation of the community in planning, implementing and maintaining.</li>\n<li>For the promotion and maintenance of their health.</li>\n<li>Eg: <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> workers are residents of the same community.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ycGBOfd9hWOGEgzBRbbm1742799795.mp3", "video": ""}, {"text": "Which of the following statements regarding elements of primary healthcare are true: 1. It includes education concerning health problems and methods of preventing them. 2. It involves the promotion of food supply and appropriate nutrition. 3. It provides essential and non-essential drugs. 4. It consists of individuals who have a common health goal based on community requirements. 5. It emphasizes maternal and child health care, including family planning.", "options": [{"label": "A", "text": "1, 2, and 5", "correct": true}, {"label": "B", "text": "1, 2, 3 and 5", "correct": false}, {"label": "C", "text": "2, 3 and 4", "correct": false}, {"label": "D", "text": "All of the above", "correct": false}], "correct_answer": "A. 1, 2, and 5", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/g9mVB51Yk2c7dmM5RMSu1742799535.mp3", "video": ""}, {"text": "Which of the following does not come under the 4 A's of primary healthcare?", "options": [{"label": "A", "text": "Accessibility", "correct": false}, {"label": "B", "text": "Affordability", "correct": false}, {"label": "C", "text": "Accountability", "correct": true}, {"label": "D", "text": "Acceptability", "correct": false}], "correct_answer": "C. Accountability", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Accessibility: </strong>Healthcare services are available and reachable by all.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Affordability:</strong> Healthcare services are economically <span class=\"customMeta\" data-dictid=\"915ca56f53169277720296a38e3e8e\">viable</span> for all</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Acceptability: </strong>Healthcare services are culturally and socially appropriate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Availability: </strong>Appropriate ratio between the population of an administrative unit and the health facility</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/75EfPYCuISpjWWAynJ7l1742799283.mp3", "video": ""}, {"text": "How many tests are available in Primary Health Centers under the Free Drugs and Diagnostic Service Initiative of the National Health Mission?", "options": [{"label": "A", "text": "19", "correct": true}, {"label": "B", "text": "39", "correct": false}, {"label": "C", "text": "56", "correct": false}, {"label": "D", "text": "73", "correct": false}], "correct_answer": "A. 19", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hxxIqyHFqu6dZUDhjLOw1719912151.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/87OsM2R1FHIDev1HhHJ31742799397.mp3", "video": ""}, {"text": "What should be the minimum number of members in the Village Health Sanitation and Nutrition Committee?", "options": [{"label": "A", "text": "10", "correct": false}, {"label": "B", "text": "20", "correct": false}, {"label": "C", "text": "25", "correct": false}, {"label": "D", "text": "15", "correct": true}], "correct_answer": "D. 15", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Formation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Formed at the revenue village level</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Composition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>There are <strong>at least 15 members</strong>, including elected Panchayat members (committee leaders), health workers, community members/beneficiaries, and representatives from vulnerable sections and hamlets.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Member Secretary</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>ASHA (also the convener of VHSNC).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Roles and Responsibilities</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<ul>\n<li>Create awareness and conduct surveys about nutritional issues and deficiencies.</li>\n<li>Identify local <span class=\"customMeta\" data-dictid=\"857226a62716927771933d4e26861b\">nutritious</span> foods and include them in the Village Health Plan.</li>\n<li>Monitor Village Health and <span class=\"customMeta\" data-dictid=\"05bef24e711692777193a154b462b4\">Nutrition</span> Day.</li>\n<li>Facilitate referral to Nutritional Rehabilitation <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> (NRC).</li>\n<li>Supervise Anganwadi <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> (AWC).</li>\n<li>Act as grievances redressal forum on health and nutrition.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Relationship with <span class=\"customMeta\" data-dictid=\"f0347e3a7a1692777188cf90c50d6f\">Gram</span> Panchayat</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Acts as a sub-committee under the overall supervision of <span class=\"customMeta\" data-dictid=\"f0347e3a7a1692777188cf90c50d6f\">Gram</span> Panchayat.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/26vCWaEcd80nrWiVvBpt1742799161.mp3", "video": ""}, {"text": "What is the role of Rogi Kalyan Samiti?", "options": [{"label": "A", "text": "Healthcare policymaking", "correct": false}, {"label": "B", "text": "Recruiting healthcare professionals", "correct": false}, {"label": "C", "text": "Framing Village Action Plans", "correct": false}, {"label": "D", "text": "Support the functioning of health facilities", "correct": true}], "correct_answer": "D. Support the functioning of health facilities", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Synonyms</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<ul>\n<li>Patient Welfare Committee</li>\n<li>Hospital Management Society</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Purpose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Manage hospital affairs, ensure patient welfare, and improve facilities in hospitals.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Structure</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Registered society with community members as trustees.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Financial Assistance</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Provided through untied funds for activities related to patient welfare.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Responsibilities</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<ul>\n<li>Upkeep of hospital facilities.</li>\n<li>Ensuring the provision of better facilities to patients.</li>\n<li>Financial management and accountability.</li>\n<li>Community engagement and participation.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Location</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>It is found in almost all DHs, SDHs, CHCs, and PHCs across India.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yg5u87ZUc7XGtQWaowuU1742799066.mp3", "video": ""}, {"text": "According to the national health policy, how many people should have one health subcenter (HSC) in hilly and tribal areas?", "options": [{"label": "A", "text": "2000", "correct": false}, {"label": "B", "text": "3000", "correct": true}, {"label": "C", "text": "4000", "correct": false}, {"label": "D", "text": "5000", "correct": false}], "correct_answer": "B. 3000", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Type of health sub-centre</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Plain population</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Hilly/tribal/desert population</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rural HSC</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 5000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 3000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Urban HSC</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 15,000-20,000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">Categorisations</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Type A: No delivery</p>\n<p>Type B: Delivery happens</p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n</tbody>\n\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of primary health centre</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Plain population</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Hilly & tribal population</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rural PHC</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 30,000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 20,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Urban PHC</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 50,000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Multispeciality UPHC/Polyclinic</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 2-3 lakh</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/DkIowN1xiMZmzrL21wCj1742797307.mp3", "video": ""}, {"text": "Which committee established the Panchayati Raj Institution?", "options": [{"label": "A", "text": "Balwant Rai Mehta Committee", "correct": true}, {"label": "B", "text": "Ashok Mehta Committee", "correct": false}, {"label": "C", "text": "GVK Rao Committee", "correct": false}, {"label": "D", "text": "Gadgil Committee", "correct": false}], "correct_answer": "A. Balwant Rai Mehta Committee", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Level</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Institution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p style=\"text-align:center\"><strong>Description and Functions</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Village</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Gram Sabha</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Assembly of all adults in the village; discusses local issues; elects members of <span class=\"customMeta\" data-dictid=\"f0347e3a7a1692777188cf90c50d6f\">Gram</span> Panchayat.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Gram Panchayat</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>The executive body of <span class=\"customMeta\" data-dictid=\"f0347e3a7a1692777188cf90c50d6f\">Gram</span> Sabha; plans and executes local development activities, led by a President (Sarpanch).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Nyaya Panchayat</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Deals with local disputes and minor offences; provides justice at the village level.</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Block</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Panchayat Samiti</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Consists of Sarpanchas (heads) of village Panchayats, MLAs, MPs, and others; implements community development.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Block Development Officer (BDO)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Secretary of Panchayat Samiti; provides technical guidance for development projects.</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>District</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Zilla Parishad</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Represents Panchayat Samitis, MLAs, MPs, and others; supervises and coordinates development activities at the district level.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>District Administration</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Includes administrative officers (e.g., District Collector) responsible for overall governance.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/r3sQjLtSgBfus8fHjZXZ1742798603.mp3", "video": ""}, {"text": "Which among the following is NOT a function of Mahila Arogya Samiti?", "options": [{"label": "A", "text": "Focus on preventive and promotive care", "correct": false}, {"label": "B", "text": "Act as a peer education group", "correct": false}, {"label": "C", "text": "Facilitate access to identified facilities", "correct": false}, {"label": "D", "text": "Providing primary medical care for minor ailments of women", "correct": true}], "correct_answer": "D. Providing primary medical care for minor ailments of women", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8JWRrgtQvluuSlVqFTUk1742798490.mp3", "video": ""}, {"text": "Which of the following represents the population norm for an Urban PHC [Primary Health Centre] according to the IPHS [Indian Public Health Standards] guidelines 2022?", "options": [{"label": "A", "text": "20,000", "correct": false}, {"label": "B", "text": "30,000", "correct": false}, {"label": "C", "text": "50,000", "correct": true}, {"label": "D", "text": "45,000", "correct": false}], "correct_answer": "C. 50,000", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Type of PHC</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Population covered </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Population covered in hilly & tribal areas</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rural PHC</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30,000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Urban PHC</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50,000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Polyclinic</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2.5 to 3 lakhs</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Type of health sub-centre</strong></p>\n</td>\n<td>\n<p><strong>Plain population</strong></p>\n</td>\n<td>\n<p><strong>Hilly/tribal/desert population</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Rural HSC</p>\n</td>\n<td>\n<p>1 per 5000</p>\n</td>\n<td>\n<p>1 per 3000</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Urban HSC</p>\n</td>\n<td>\n<p>1 per 15,000-20,000</p>\n</td>\n<td>\n<p>-</p>\n</td>\n</tr>\n<tr>\n<td>Categorisations</td>\n<td>\n<p>Type A: No delivery</p>\n<p>Type B: Delivery happens</p>\n<p> </p>\n</td>\n<td> </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6yD8tqU9m74WMvLW8qcl1742798332.mp3", "video": ""}, {"text": "An ASHA worker ensures institutional delivery of a mother from her village. How much incentive does she get regularly?", "options": [{"label": "A", "text": "None", "correct": false}, {"label": "B", "text": "1000 per delivery", "correct": false}, {"label": "C", "text": "2000 per delivery", "correct": false}, {"label": "D", "text": "Depending on the tasks ASHA completes", "correct": true}], "correct_answer": "D. Depending on the tasks ASHA completes", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Area </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Task</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Incentive</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reproductive health</p>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ensuring <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> care and institutional delivery</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rural-300</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Urban-200</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Delaying birth of first child by 2 years after marriage</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>500</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ensuring <span class=\"customMeta\" data-dictid=\"efd43504b2169277719883db21b626\">spacing</span> of 3 years after first child</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>500</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Accompanying for IUCD insertion</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>150</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Home visit for <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> and <span class=\"customMeta\" data-dictid=\"3d885759d516927771966b84bfa470\">postpartum</span> mother</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>250</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> \n\t\t\t<p>TB</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>DOTS provider for new cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>DOTS provider for previously treated cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1500</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Treatment and support for <span class=\"customMeta\" data-dictid=\"d4c88fcae71692777186aa1c32423a\">drug-resistant</span> TB cases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5000</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Leprosy</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Refers and follows a <span class=\"customMeta\" data-dictid=\"1fdb5ce91d16927771942d7a784ff5\">paucibacillary</span> <span class=\"customMeta\" data-dictid=\"f200a5b7181692777191c4f24b2a3e\">leprosy</span> case throughout the treatment course</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>650</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Refers and follows a <span class=\"customMeta\" data-dictid=\"fcfe58b24e169277719388b41fd97f\">multibacillary</span> <span class=\"customMeta\" data-dictid=\"f200a5b7181692777191c4f24b2a3e\">leprosy</span> case throughout the treatment course</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>850</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rITLwJHr3LBPS6HhKNYT1742798148.mp3", "video": ""}, {"text": "Which of the following is NOT an ASHA role?", "options": [{"label": "A", "text": "Providing counseling on birth preparedness and safe delivery", "correct": false}, {"label": "B", "text": "Administering vaccines to infants and children", "correct": true}, {"label": "C", "text": "Mobilizing the community for health awareness programs", "correct": false}, {"label": "D", "text": "Providing directly observed treatment short-course (DOTS) for tuberculosis", "correct": false}], "correct_answer": "B. Administering vaccines to infants and children", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/YxIILA2owZrsQMkPdiRS1742797949.mp3", "video": ""}, {"text": "Which statements about an Accredited Social Health Activist-ASHA is true?", "options": [{"label": "A", "text": "Can be a male or female", "correct": false}, {"label": "B", "text": "Preferably from the age group 25-45", "correct": true}, {"label": "C", "text": "Education level of class 8", "correct": false}, {"label": "D", "text": "Only unmarried females are eligible", "correct": false}], "correct_answer": "B. Preferably from the age group 25-45", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PxN9OwpGAiRPKObpDVhd1742797845.mp3", "video": ""}, {"text": "Which of the following is a primary function of a Female Health Worker (auxiliary Nurse Midwife - ANM)?", "options": [{"label": "A", "text": "Risk pooling fund", "correct": false}, {"label": "B", "text": "Promoting the construction of toilets", "correct": false}, {"label": "C", "text": "Registering and providing care to pregnant women", "correct": true}, {"label": "D", "text": "Providing advice on health insurance", "correct": false}], "correct_answer": "C. Registering and providing care to pregnant women", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Duty Area</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Health Worker Male (HWM)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Health Worker Female (ANM)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Maternal and Child Health</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Register and provide care to pregnant women</li>\n<li>Conduct deliveries</li>\n<li>Postnatal home visits</li>\n<li>Educate on breastfeeding</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Family Planning</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Distribute contraceptives</li>\n<li>Follow-up with acceptors</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Maintain eligible couple registers</strong></li>\n<li>Distribute contraceptives</li>\n<li>Family planning education</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Immunisation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Administer vaccines</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Immunise pregnant women and children</li>\n<li>Cold chain maintenance</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Communicable Diseases</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Treat minor ailment</p>\n<p>Disease education and prevention</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Nutrition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Identify <span class=\"customMeta\" data-dictid=\"cbd2d1fd521692777191d00c1a4ede\">malnutrition</span> cases</li>\n<li>Provide treatment, advice, and referral</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Distribute supplements</li>\n<li>Monitor growth and development</li>\n<li>Identify <span class=\"customMeta\" data-dictid=\"cbd2d1fd521692777191d00c1a4ede\">malnutrition</span> cases</li>\n<li>Provide treatment, advice, and referral</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Record Keeping</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Maintain health records</li>\n<li>Submit reports</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Manage health records</li>\n<li>Submit reports</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Environmental Health</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Chlorinate water sources</strong></li>\n<li>Educate on sanitation</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Maintain cleanliness and medical waste disposal</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Community Education</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Health education on specific diseases</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Conduct health education sessions</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Specific Programme Responsibilities</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>National <span class=\"customMeta\" data-dictid=\"fa7058cd8e16927772017bed30d85d\">vector-borne</span> disease control programme</li>\n<li>Malaria slide preparation- every 15 days</li>\n<li>Leprosy eradication programme</li>\n<li>RNTCP</li>\n<li>National <span class=\"customMeta\" data-dictid=\"cf284485b71692777183c57876bed2\">blindness</span> control programme</li>\n<li>Expanded programme on immunisation.</li>\n<li>Reproductive and child health programme</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Universal Programme on Immunization-UIP</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EK5Nyhc55IgwilR6oDdT1742797519.mp3", "video": ""}, {"text": "All of the following are true about a primary health centre (PHC) except?", "options": [{"label": "A", "text": "The presence of an AYUSH officer is not essential", "correct": false}, {"label": "B", "text": "Type A PHC: delivery load &lt;15", "correct": true}, {"label": "C", "text": "At least 2 staff nurses per PHC should be present", "correct": false}, {"label": "D", "text": "The recommended bed count is at least 6 per PHC", "correct": false}], "correct_answer": "B. Type A PHC: delivery load <15", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Staffing count</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Type A: 13-18</li>\n<li>Type B: 14-21</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Staffing division</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Essential: 1 medical officer, 2 nurses, 1 pharmacist, 1 health worker male & 1 health worker female, 1 lab technician <strong>(Option C)</strong></li>\n<li>Desirable: 1 AYUSH officer <strong>(Option A)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Categorization</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Type A: <20 deliveries <strong>(Option B)</strong></li>\n<li>Type B: >20 deliveries</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bed count</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Six <strong>(Option D)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Services</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>24*7 emergency services</li>\n<li>Minimum 6 hours of <span class=\"customMeta\" data-dictid=\"a9f32a257d1692777194caf3b4cf78\">outpatient</span> service</li>\n<li>Antenatal, <span class=\"customMeta\" data-dictid=\"a0d3680eab1692777195d6ab932b14\">perinatal</span> (normal delivery & <span class=\"customMeta\" data-dictid=\"3c6bfcae8c1692777184ceb5d2efc3\">cesarean</span> section) and <span class=\"customMeta\" data-dictid=\"ba016f80c31692777196b151e95b8f\">postnatal</span> services</li>\n<li>MTP & contraception</li>\n<li>Neonatal & infant care</li>\n<li>Pediatric care: pneumonia, diarrhea, SAM</li>\n<li>Communicable & non-communicable diseases services</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7UWUU54BE2nQkhPiGtZB1742797394.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 28 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "For what population size is an urban Primary Health Centre (PHC) typically intended?", "options": [{"label": "A", "text": "1 per 50,000", "correct": true}, {"label": "B", "text": "1 per 100,000", "correct": false}, {"label": "C", "text": "1 per 250,000", "correct": false}, {"label": "D", "text": "1 per 200,000", "correct": false}], "correct_answer": "A. 1 per 50,000", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - 1 per 50,000</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Type of primary health centre</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Plain population</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Hilly & tribal population</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Rural PHC</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 per 30,000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 per 20,000</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Urban PHC</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 per 50,000</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Multispeciality UPHC/Polyclinic</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 per 2-3 lakh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">-</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements accurately describes Ayushman Bharat?", "options": [{"label": "A", "text": "Launched in 2019", "correct": false}, {"label": "B", "text": "Aim is to achieve universal health coverage in India", "correct": true}, {"label": "C", "text": "Covers only tertiary health care centres", "correct": false}, {"label": "D", "text": "Cashless, paperless service by only government hospitals", "correct": false}], "correct_answer": "B. Aim is to achieve universal health coverage in India", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/yXUV5MBIz8O36jizoG5X1748156545.png"], "explanation": "<p>Correct Option B) Aim is to achieve universal health coverage in I\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How many individuals are allocated to one ASHA worker for the population in rural areas?", "options": [{"label": "A", "text": "500", "correct": false}, {"label": "B", "text": "1200", "correct": false}, {"label": "C", "text": "2500", "correct": false}, {"label": "D", "text": "1000", "correct": true}], "correct_answer": "D. 1000", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not considered a pillar of primary health care?", "options": [{"label": "A", "text": "Health education", "correct": true}, {"label": "B", "text": "Intersectoral coordination", "correct": false}, {"label": "C", "text": "Appropriate technology", "correct": false}, {"label": "D", "text": "Equitable distribution", "correct": false}], "correct_answer": "A. Health education", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Equitable distribution (Option D ruled out):</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Equitable distribution of health services irrespective of their socio-economic status.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Intersectoral <span class=\"customMeta\" data-dictid=\"3820ba101416927771858fe257e119\">coordination</span> (Option B ruled out):</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Involves collaboration from other sectors like agriculture, education, etc.</li>\n<li>Maintains good health.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Appropriate technology (Option c ruled out):</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Use of technology that is accessible, affordable, and suitable for the community</li>\n<li>Eg:\n\t\t\t\t<ul>\n<li>ORS</li>\n<li>VVM (Vaccine <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">Vial</span> Monitor): Heat sensitive label</li>\n<li>Shakir tape: <span class=\"customMeta\" data-dictid=\"cbd2d1fd521692777191d00c1a4ede\">Malnutrition</span> grading</li>\n<li>Kangaroo mother care: <span class=\"customMeta\" data-dictid=\"ac9f7287191692777196e8c02d1f3d\">Preterm</span> care</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Community participation:</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Ensure the participation of the community in planning, implementing and maintaining.</li>\n<li>For the promotion and maintenance of their health.</li>\n<li>Eg: <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> workers are residents of the same community.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which entity is responsible for overseeing the school health programs?", "options": [{"label": "A", "text": "Primary health center", "correct": true}, {"label": "B", "text": "District hospital", "correct": false}, {"label": "C", "text": "Sub-centre", "correct": false}, {"label": "D", "text": "Sub-divisional hospital", "correct": false}], "correct_answer": "A. Primary health center", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:628px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Level</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Name</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Function</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Population Coverage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Staffing</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sub-Centers (SCs) (Option C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>First point of contact for the community, providing basic healthcare services like immunization, <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> and child health, and health education.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5,000 people in plain areas, 3,000 in hilly/tribal areas</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1 Female Health Worker (ANM) and 1 Male Health Worker</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Primary Health Centers (PHCs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Provides integrated <span class=\"customMeta\" data-dictid=\"0968038e2a1692777185ed087c7fd8\">curative</span> and <span class=\"customMeta\" data-dictid=\"e684325d851692777196af9e64013b\">preventive</span> healthcare services for rural populations. Focuses on <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> and child health, immunization, and family planning.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Serves 30,000 people</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Managed by a Medical Officer with supporting healthcare staff</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Block Primary Health Center (Block PHC)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Referral point for PHCs within the block, providing <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> and child health services, basic surgeries, and diagnostics.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Serves a block population (typically 30,000–50,000 people)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Medical Officer, Nurses, Lab Technicians</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Community Health Centers (CHCs) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Serves as a referral point for PHCs and provides specialized care.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Serves 80,000 to 1,20,000 people</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Staffed with specialists (e.g., surgeons, obstetricians, pediatricians)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sub-Divisional Hospitals (SDHs) (Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Provides more advanced care than PHCs or CHCs at the sub-divisional level, offering a broader range of medical services and treatments.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sub-divisional coverage</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Specialists, General Medical Practitioners</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>District Hospitals (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Provide <span class=\"customMeta\" data-dictid=\"7fad24b851169277719849050e94e1\">secondary care</span> services and act as referral points for CHCs. Services include emergency care, surgeries, and specialized treatments.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>District-level coverage</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Specialists, General Medical Practitioners</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>7</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tertiary Care Hospitals</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Provide advanced medical care and specialized services, such as complex surgeries and treatment for rare conditions.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Multi-district coverage</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Highly trained specialists in various medical fields</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The minimum requirements of a health worker job are given: should be a woman, a resident of the village, 25 to 45 years old, and have a formal education till 8th standard. What is the health worker called?", "options": [{"label": "A", "text": "Anganwadi worker", "correct": false}, {"label": "B", "text": "Nurse", "correct": false}, {"label": "C", "text": "Midwife", "correct": false}, {"label": "D", "text": "ASHA worker", "correct": true}], "correct_answer": "D. ASHA worker", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> worker </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>ASHA (Accredited Social Health Activist)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p>ASHA is a woman (married, divorced, or widowed) resident of the village, aged 25-45 years, with education up to 8th grade.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Population Norm for ASHA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>The general norm is 1 <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> per 1000 population. In tribal, hilly, and desert areas, this may be relaxed to 1 <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> per habitation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Role and Responsibilities of ASHA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Health Activist: </strong>Create awareness and provide information on health determinants, existing services, and the importance of health and family welfare.</li>\n<li><strong>Counselor</strong>: Provide counseling on birth preparedness, safe delivery, and family planning.</li>\n<li><strong>Mobilizer:</strong> Help the community access health services, such as immunizations, sanitation, and nutrition.</li>\n<li><strong>Provider: </strong>Offer basic care for common illnesses and first-aid, and act as a <span class=\"customMeta\" data-dictid=\"25116121ed169277718644b8fe30ff\">depot</span> for essential medications.</li>\n<li><strong>Community Engagement:</strong> Work with village health committees and panchayats for planning and awareness.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Specific Responsibilities of ASHA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ol>\n<li>Promote health and <span class=\"customMeta\" data-dictid=\"18aafee1a71692777198cdc688e8aa\">sanitation</span> practices.</li>\n<li>Advise on child care, immunization, and <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> health.</li>\n<li>Assist with family planning and treatment of minor ailments.</li>\n<li>Mobilize pregnant women and children to health services</li>\n<li>Provide basic medical care and support for diarrhea, fever, and <span class=\"customMeta\" data-dictid=\"8d98ce2d3616927772013bfc3e0528\">tuberculosis</span> (under DOTS).</li>\n<li>Serve as a <span class=\"customMeta\" data-dictid=\"25116121ed169277718644b8fe30ff\">depot</span> holder for essential drugs and medical supplies.</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Role and Integration with Anganwadi</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>The Anganwadi worker helps guide ASHA, particularly in organizing Health Day activities, mobilizing village women and children, and promoting <span class=\"customMeta\" data-dictid=\"05bef24e711692777193a154b462b4\">nutrition</span> and health education.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Role and Integration with ANMs (Auxiliary Nurse Midwives)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>ANMs guide <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> in areas like immunization, safe pregnancy, and health education, and assist in organizing Health Days. ANMs also help with training and monitor ASHA's performance.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What are the primary referral centers in India's healthcare system?", "options": [{"label": "A", "text": "Primary health centres and district hospitals", "correct": false}, {"label": "B", "text": "Medical colleges and district hospitals", "correct": false}, {"label": "C", "text": "Community health centres and medical colleges", "correct": false}, {"label": "D", "text": "Sub-district hospitals and community health centres", "correct": true}], "correct_answer": "D. Sub-district hospitals and community health centres", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - Sub-district hospitals and community health centres </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Level of Health Care Delivery System</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Rural</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Urban</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Tertiary Level of Health Care</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>MC: Medical colleges</li>\n<li>SSH: Superspeciality hospitals</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Medical colleges</li>\n<li>SSH: Superspeciality hospitals</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Secondary Level of Health Care</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>CHC: Community health center,</li>\n<li>SDH: Sub-district hospital</li>\n<li>DH: District hospital</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Urban CHC (u-CHC)</li>\n<li>Metrocity</li>\n<li>Non-metrocity</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Primary Level of Health Care</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>SC: Sub-centers</li>\n<li>PHCs: Primary health centers</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Swasthya Chowki</li>\n<li>Urban PHC or Urban health center</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Grass Root Level Workers</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>ASHA</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>USHA</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not considered a pillar of primary health care?", "options": [{"label": "A", "text": "Health education", "correct": true}, {"label": "B", "text": "Intersectoral coordination", "correct": false}, {"label": "C", "text": "Appropriate technology", "correct": false}, {"label": "D", "text": "Equitable distribution", "correct": false}], "correct_answer": "A. Health education", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Health education</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Equitable distribution (Option D)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Equitable distribution of health services irrespective of their socio-economic status.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Intersectoral <span class=\"customMeta\" data-dictid=\"3820ba101416927771858fe257e119\">coordination</span> (Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Involves collaboration from other sectors like agriculture, education, etc.</li>\n<li>Maintains good health.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Appropriate technology (Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Use of technology that is accessible, affordable, and suitable for the community</li>\n<li>Eg:\n\t\t\t\t<ul>\n<li>ORS</li>\n<li>VVM (Vaccine <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">Vial</span> Monitor): Heat sensitive label</li>\n<li>Shakir tape: <span class=\"customMeta\" data-dictid=\"cbd2d1fd521692777191d00c1a4ede\">Malnutrition</span> grading</li>\n<li>Kangaroo mother care: <span class=\"customMeta\" data-dictid=\"ac9f7287191692777196e8c02d1f3d\">Preterm</span> care</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Community participation </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Ensure the participation of the community in planning, implementing and maintaining.</li>\n<li>For the promotion and maintenance of their health.</li>\n<li>Eg: <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> workers are residents of the same community.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the initial point of contact for individuals seeking medical assistance within a community?", "options": [{"label": "A", "text": "Primary health center (PHC)", "correct": false}, {"label": "B", "text": "Community health center (CHC)", "correct": false}, {"label": "C", "text": "Sub-centre", "correct": true}, {"label": "D", "text": "District hospital", "correct": false}], "correct_answer": "C. Sub-centre", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C-Su\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not a part of the urban health care delivery system?", "options": [{"label": "A", "text": "PHC", "correct": false}, {"label": "B", "text": "CHC", "correct": false}, {"label": "C", "text": "Swasthya Chowki", "correct": false}, {"label": "D", "text": "Subcenter", "correct": true}], "correct_answer": "D. Subcenter", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "At which of the following centers are the records of eligible couples maintained?", "options": [{"label": "A", "text": "PHC", "correct": false}, {"label": "B", "text": "CHC", "correct": false}, {"label": "C", "text": "Sub-centre", "correct": true}, {"label": "D", "text": "District hospital", "correct": false}], "correct_answer": "C. Sub-centre", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the number of the deliveries performed by Type-A PHC in a month?", "options": [{"label": "A", "text": "Less than 20", "correct": true}, {"label": "B", "text": "20 or above", "correct": false}, {"label": "C", "text": "Less than 30", "correct": false}, {"label": "D", "text": "30 or above", "correct": false}], "correct_answer": "A. Less than 20", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following should not be included in the school health service?", "options": [{"label": "A", "text": "Education of handicapped children", "correct": false}, {"label": "B", "text": "Doctor on premises", "correct": true}, {"label": "C", "text": "Dental and eye health services", "correct": false}, {"label": "D", "text": "School health records", "correct": false}], "correct_answer": "B. Doctor on premises", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is a technology-based surveillance system for tuberculosis (TB) in India?", "options": [{"label": "A", "text": "Nikshay", "correct": true}, {"label": "B", "text": "Nischay", "correct": false}, {"label": "C", "text": "Dots99", "correct": false}, {"label": "D", "text": "DOTS", "correct": false}], "correct_answer": "A. Nikshay", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Niksh\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Universal health coverage (UHC) means that all people and communities receive the quality health services they need, without financial hardship. Which of the following are the challenges to implementing UHC?", "options": [{"label": "A", "text": "Inequalities in the distribution, adequate support and access to quality assured products only in low income setting", "correct": false}, {"label": "B", "text": "The purpose of UHC is to find a balance between countries' income, health provision and financial burden", "correct": false}, {"label": "C", "text": "To provide healthcare to everyone regardless of the countries' income", "correct": true}, {"label": "D", "text": "UHC only deals with financial aspect of health and cannot cover health provision to all", "correct": false}], "correct_answer": "C. To provide healthcare to everyone regardless of the countries' income", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Principle</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Explanation</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Equitable Access</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Everyone should receive healthcare regardless of socioeconomic status.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Financial Protection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Out-of-pocket expenses should not cause financial hardship.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Quality Care</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Services should be effective, safe, and patient-centered.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sustainability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Health systems should be designed for long-term viability.</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Challenge</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Reason</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Limited Financial Resources</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Low-income countries struggle to fund universal healthcare.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Healthcare Workforce Shortage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lack of trained professionals, especially in rural areas.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Infrastructure Gaps</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inadequate hospitals, equipment, and medical supply chains.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Political and Policy Barriers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Differences in government commitment to UHC implementation.</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Strategy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Innovative Financing</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Public-private partnerships, health insurance schemes, and global funding.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Technology Integration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Telemedicine and digital health solutions to expand access.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>International Support</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>WHO and global organizations aiding low-income countries.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements is false regarding the staff of an urban primary health center?", "options": [{"label": "A", "text": "2 doctors", "correct": false}, {"label": "B", "text": "5 Multiskilled staff nurse", "correct": true}, {"label": "C", "text": "1 lab technician", "correct": false}, {"label": "D", "text": "1 pharmacist", "correct": false}], "correct_answer": "B. 5 Multiskilled staff nurse", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - 5 Multiskilled staff nu\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Human Resource at UPHC</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sr. no.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Staff category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Number</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Medical officer</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2* (1 regular and 1 part time)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Staff Nurse</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pharmacist</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4. </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lab Technician</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Public Health Manager/ Community Mobilisor</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>LHV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>AMNs</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-5** Depending upon population</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>8. </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Secretarial Staff including for account keeping and MIS</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>9.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Support staff</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements is false regarding a primary healthcare center (PHC)?", "options": [{"label": "A", "text": "There is 1 PHC per 30,000 population in plain areas", "correct": false}, {"label": "B", "text": "Type A PHC conducts &lt;20 deliveries per month", "correct": false}, {"label": "C", "text": "Provides maternal and child health care, family planning and MTP", "correct": false}, {"label": "D", "text": "Is the first referral unit", "correct": true}], "correct_answer": "D. Is the first referral unit", "question_images": [], "explanation_images": [], "explanation": "\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type A</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type B</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Deliveries/ month: <20</li>\n</ul>\n<p><strong>Staffing pattern</strong></p>\n<ul>\n<li>MBBS MO: 1</li>\n<li>Ayush MO: 1</li>\n<li><strong>Total Staff: </strong>13-18</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Deliveries/ month: ≥20</li>\n</ul>\n<p><strong>Staffing pattern</strong></p>\n<ul>\n<li>MBBS MO: 2</li>\n<li>Ayush MO: 1</li>\n<li><strong>Total Staff:</strong> 14-21</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is number of the deliveries performed by Type-A PHC in a month?", "options": [{"label": "A", "text": "less than 20", "correct": true}, {"label": "B", "text": "20 or above", "correct": false}, {"label": "C", "text": "less than 30", "correct": false}, {"label": "D", "text": "30 or above", "correct": false}], "correct_answer": "A. less than 20", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Less Than 2\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Type A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Type B</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Deliveries/ month: <20</li>\n</ul>\n<p>Staffing pattern</p>\n<ul>\n<li>MBBS MO: 1</li>\n<li>Ayush MO: 1</li>\n<li>Total Staff: 13-18</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Deliveries/ month: ≥20</li>\n</ul>\n<p>Staffing pattern</p>\n<ul>\n<li>MBBS MO: 2</li>\n<li>Ayush MO: 1</li>\n<li>Total Staff: 14-21</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the optimal approach to assess the injection practices of healthcare personnel?", "options": [{"label": "A", "text": "Direct observation with a structured checklist", "correct": true}, {"label": "B", "text": "Closed circuit camera surveillance", "correct": false}, {"label": "C", "text": "In-depth interview with the patient", "correct": false}, {"label": "D", "text": "In-depth interview with the healthcare provider", "correct": false}], "correct_answer": "A. Direct observation with a structured checklist", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following items is included in the concurrent list of the Indian Constitution?", "options": [{"label": "A", "text": "Adulteration of food", "correct": true}, {"label": "B", "text": "Fishing and fisheries beyond territorial waters", "correct": false}, {"label": "C", "text": "Regulating labor in mines", "correct": false}, {"label": "D", "text": "Public health and sanitation", "correct": false}], "correct_answer": "A. Adulteration of food", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- <span class=\"customMeta\" data-dictid=\"419d4d63611692777180fa22cd0151\">Adulteration</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which specific article in the Indian constitution grants the Right to Life to the residents of India?", "options": [{"label": "A", "text": "Article 11", "correct": false}, {"label": "B", "text": "Article 21", "correct": true}, {"label": "C", "text": "Article 23", "correct": false}, {"label": "D", "text": "Article 25", "correct": false}], "correct_answer": "B. Article 21", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the population served by a single Primary Health Center (PHC) in the plains?", "options": [{"label": "A", "text": "3000", "correct": false}, {"label": "B", "text": "5000", "correct": false}, {"label": "C", "text": "20000", "correct": false}, {"label": "D", "text": "30000", "correct": true}], "correct_answer": "D. 30000", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - 30000: \n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sub-center </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>PHC </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CHC </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Population </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>1/5,000 in plain areas </li>\n<li>1/3,000 population in hilly areas </li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>1/30,000 in plain areas </li>\n<li>1/20,000 in hilly areas </li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>1/1,20,000 in plain area s</li>\n<li>1/80,000 in hilly areas </li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Level of health care </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Primary </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Primary </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Secondary or first referral level </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Responsibility for maintenance </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Central government </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>State government </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>State government</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Number of villages supervised </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4 villages </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>29 villages </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>158 villages </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Number of beds </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Type B-2 beds </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-6</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the options below is established to facilitate health planning at the village level?", "options": [{"label": "A", "text": "Panchayat Health Committee", "correct": false}, {"label": "B", "text": "Village Health Planning and Management Committee", "correct": false}, {"label": "C", "text": "Rogi Kalyan Samiti", "correct": false}, {"label": "D", "text": "Village Health Sanitation and Nutrition Committee", "correct": true}], "correct_answer": "D. Village Health Sanitation and Nutrition Committee", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D. \n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following options is not encompassed within the Mental Health Care Act, 2017, as per the guidelines set by the WHO Mental Health Gap Action Programme?", "options": [{"label": "A", "text": "Screening of family members", "correct": true}, {"label": "B", "text": "Mobilization of resources", "correct": false}, {"label": "C", "text": "Social support", "correct": false}, {"label": "D", "text": "Interpersonal therapy", "correct": false}], "correct_answer": "A. Screening of family members", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A-Screening\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following vaccines has not been introduced to the immunization program in India?", "options": [{"label": "A", "text": "TT", "correct": false}, {"label": "B", "text": "Dengue", "correct": true}, {"label": "C", "text": "Measles-Rubella", "correct": false}, {"label": "D", "text": "Rotavirus", "correct": false}], "correct_answer": "B. Dengue", "question_images": [], "explanation_images": [], "explanation": "\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Sn.</strong><strong> </strong><strong>No.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Due age</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Route</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>BCG</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra dermal</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Hepatitis B-Birth dose</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra muscular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV-O</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV 1, 2 & 3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At 6 weeks, 10 weeks & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Pentavalent 1, 2 & 3 (Diphtheria + Pertuss is + <span class=\"customMeta\" data-dictid=\"64dfe4fca51692777200a7ffbc44bb\">Tetanus</span> + <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">Hepatitis</span> B + Hib)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At 6 weeks, 10 weeks & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra muscular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inactivated <span class=\"customMeta\" data-dictid=\"7b1b23cdec1692777196fb5ec9f3f5\">polio</span> vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At 6 & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra muscular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>7.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rotavirus (where applicable)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At 6 weeks, 10 weeks & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>8.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Pneumococcal <span class=\"customMeta\" data-dictid=\"2421c657771692777185af1b7b59c3\">conjugate</span> vaccine (where applicable)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At 6 weeks & 14 weeks. At 9 completed months-booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra muscular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measles/Rubella 1st dose</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At 9 completed months - 12 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>10.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>DPT Booster-1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra muscular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>11.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measles/Rubella 2nd dose</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-29 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>12.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV Booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>13.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>DPT <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">Booster</span> - 2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5-6 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra muscular</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>14.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>TT</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>10 years & 16 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intra muscular</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 35 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "The Community medicine department set out to an urban community to raise awareness about the importance of hand hygiene in preventing infectious diseases. As part of the campaign, health educators plan to conduct workshops to educate community members about proper handwashing techniques and their benefits. Which of the following is not a principle of health education?", "options": [{"label": "A", "text": "Interest", "correct": false}, {"label": "B", "text": "Credibility", "correct": false}, {"label": "C", "text": "Authoritativeness", "correct": true}, {"label": "D", "text": "Feedback", "correct": false}], "correct_answer": "C. Authoritativeness", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/n1fY3mtFhxnTLHFeqAUI1734443262.mp3", "video": ""}, {"text": "A 35 y/o woman comes to the clinic concerned about vaccinating her child due to information she encountered online suggesting that vaccines cause severe side effects and are part of a government conspiracy. She mentions feeling very emotional and scared after reading several personal stories about vaccine injuries on social media. Which of the following is a feature of the propaganda she has encountered?", "options": [{"label": "A", "text": "It is behavior-centered.", "correct": false}, {"label": "B", "text": "Promotes reflective behavior in people", "correct": false}, {"label": "C", "text": "Develops individuality and personality", "correct": false}, {"label": "D", "text": "Appeals to emotion", "correct": true}], "correct_answer": "D. Appeals to emotion", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Health Education</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Propaganda</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mode of acquisition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Actively <span class=\"customMeta\" data-dictid=\"0f0b2969921692777180de24f0b0c0\">acquired</span> knowledge and skills (active thinking).</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Knowledge (may be false or exaggerated) is instilled in people's minds (facts).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Develops</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Reflective behaviour.</strong></li>\n<li>Trains people to use judgment before acting.</li>\n<li><strong>Individuality.</strong></li>\n<li><strong>Personality.</strong></li>\n<li>Self-expression.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reflexive behaviour.</li>\n<li>Aims at impulsive action.</li>\n<li>A standard pattern of attitudes and behaviours according to what would be used- a set pattern of behaviour.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Appeals to</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Reason</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Emotion</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Knowledge acquisition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>By self-reliant activity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Spoon-fed and received</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Process centered on</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Behaviou</strong>r: Aims at developing favourable attitudes, habits, and skills.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Information: no changes of attitude- behaviour designed.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/A1gukIZtuI71JQn8YA8I1734700862.mp3", "video": ""}, {"text": "A public health campaign aims to reduce smoking rates in a community. The campaign involves spreading awareness about the dangers of smoking, encouraging people to try quitting through support programs, and promoting the success stories of those who have quit. Which model of health education does this campaign best represent?", "options": [{"label": "A", "text": "Medical model", "correct": false}, {"label": "B", "text": "Motivation or adoption model", "correct": true}, {"label": "C", "text": "Social interventional model", "correct": false}, {"label": "D", "text": "Behavioral modification model", "correct": false}], "correct_answer": "B. Motivation or adoption model", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/CHky2xVDUkwhNLWNt7no1734084574.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dcBCc5Bq2rhKNp3us5nK1734443504.mp3", "video": ""}, {"text": "A healthcare provider is conducting a patient interview and encounters several barriers to effective communication. Which of the following is not one of them?", "options": [{"label": "A", "text": "The patient is geriatric and belongs to a low socio-economic status.", "correct": true}, {"label": "B", "text": "The clinic is located in a busy area with constant traffic noise, making it hard to communicate.", "correct": false}, {"label": "C", "text": "The patient speaks a different language and has difficulty understanding the provider's instructions.", "correct": false}, {"label": "D", "text": "The patient appears distressed and anxious, making it difficult for them to concentrate on the conversation.", "correct": false}], "correct_answer": "A. The patient is geriatric and belongs to a low socio-economic status.", "question_images": [], "explanation_images": [], "explanation": "\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:523px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Physiological</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Psychological</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Difficulties in hearing, expresion</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Emotional disturbances</li>\n<li>Levels of intelligence</li>\n<li>Neurosis</li>\n<li>Language or comprehension difficulty</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Environmental</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cultural</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Noise</li>\n<li>Invisibility</li>\n<li>Congestion</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Illiteracy</li>\n<li>Levels of knowledge/understanding</li>\n<li>Customs</li>\n<li>Beliefs</li>\n<li>Religion</li>\n<li>Attitude</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/lGI1stiDGZkrMrZ1KDLg1734444204.mp3", "video": ""}, {"text": "The most effective method of educating the general public about how to perform CPR (Cardiopulmonary resuscitation) is:", "options": [{"label": "A", "text": "Flashcards", "correct": false}, {"label": "B", "text": "Demonstration", "correct": true}, {"label": "C", "text": "Lecture", "correct": false}, {"label": "D", "text": "Group discussion", "correct": false}], "correct_answer": "B. Demonstration", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/98PXtaTPGIXk7IG0a5bB1734444064.mp3", "video": ""}, {"text": "Which of the following statements best describes the Delphi technique?", "options": [{"label": "A", "text": "A method of data collection where participants discuss and agree on a topic in person.", "correct": false}, {"label": "B", "text": "A qualitative research method that involves direct observation of participants in their natural environment.", "correct": false}, {"label": "C", "text": "A structured communication technique used in health research that relies on a panel of experts answering questionnaires in multiple rounds to achieve consensus.", "correct": true}, {"label": "D", "text": "A statistical analysis method used to interpret large datasets through the use of complex algorithms.", "correct": false}], "correct_answer": "C. A structured communication technique used in health research that relies on a panel of experts answering questionnaires in multiple rounds to achieve consensus.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ZNOq4LQ45WVbnk37QdOh1734443888.mp3", "video": ""}, {"text": "Which counseling approach is used in family planning to provide structured and supportive communication to clients?", "options": [{"label": "A", "text": "SPIKES approach", "correct": false}, {"label": "B", "text": "Flannel graph", "correct": false}, {"label": "C", "text": "Flipcharts", "correct": false}, {"label": "D", "text": "GATHER approach", "correct": true}], "correct_answer": "D. GATHER approach", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/NG5IgqkCu0v7TLUAICqO1734084676.png", "https://image.prepladder.com/content/3cX26JOMgWCAZVd5EGRl1734084686.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/40wdWUaLgCNF0AHLJNkK1734443668.mp3", "video": ""}, {"text": "A group of 4 experts on cardiac health were invited to interact with an audience of about 100 members. However, they were not given any set agenda to speak upon nor did they have any set speeches. They are allowed to discuss among themselves during the event as well and there is no set order of speaking. What kind of event were they invited to?", "options": [{"label": "A", "text": "Panel discussion", "correct": true}, {"label": "B", "text": "Symposium", "correct": false}, {"label": "C", "text": "Workshop", "correct": false}, {"label": "D", "text": "Seminar", "correct": false}], "correct_answer": "A. Panel discussion", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Panel discussion</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Symposium</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-8 experts</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-8 experts</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Two-way or Socratic</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Two-way or Socratic</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No set agenda</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Set agenda</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Not set speeches</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Set speeches</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No set order of speaking</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Set order of speaking</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Audience is present</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Audience is present</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Experts can discuss among themselves (they can intervene in between)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Experts cannot intervene in between (they cannot discuss among themselves)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feedback can be taken</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feedback can be taken</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8wqqhdv2GwVlRqwGcb3H1747422873.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 18 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following statements accurately reflects the truth about health propaganda?", "options": [{"label": "A", "text": "It is actively acquired", "correct": false}, {"label": "B", "text": "It appeals to emotions", "correct": true}, {"label": "C", "text": "It is behaviour centred", "correct": false}, {"label": "D", "text": "It aids in developing a reflective behaviour", "correct": false}], "correct_answer": "B. It appeals to emotions", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the method employed to gather agreement on predictions among a substantial group of individuals?", "options": [{"label": "A", "text": "Television", "correct": false}, {"label": "B", "text": "GATHER approach", "correct": false}, {"label": "C", "text": "Conferences", "correct": false}, {"label": "D", "text": "Delphi method", "correct": true}], "correct_answer": "D. Delphi method", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As a Medical Officer in charge of a Primary Health Center, you intend to engage in a conversation and address health concerns specifically with Antenatal mothers. What would be the ideal number of participants you would include in the focus group discussion?", "options": [{"label": "A", "text": "4-6", "correct": false}, {"label": "B", "text": "3-5", "correct": false}, {"label": "C", "text": "6-12", "correct": true}, {"label": "D", "text": "12-15", "correct": false}], "correct_answer": "C. 6-12", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - 6-12</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Key Points</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Data Collection Technique</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Focus Group Discussion (FGD) is a <span class=\"customMeta\" data-dictid=\"1304db17d3169277719684a316a8c4\">qualitative</span> method, in the <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> of two-way communication<strong> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Participants</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>6-12 people</strong> seated in a circle, guided by a Moderator.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Role of Moderator</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The active role of Leading the FGD by asking 10-12 open-ended, guiding questions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Sociogram Purpose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reflects the quality and interactiveness of the FGD.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Sociogram Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>A <span class=\"customMeta\" data-dictid=\"a445e59f7816927771864e36b1dbd3\">diagram</span> or chart created by an observer to represent the interaction dynamics during the FGD.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Role of Recorder</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>A separate individual is responsible for recording the discussion, with participants’ prior permission.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Data Analysis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Focuses on identifying common themes emerging from the discussion.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Communication Style</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The FGD is interactive and two-way (Socratic), encouraging dialogue among participants and between participants and the Moderator.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe the act of disseminating a specific organized belief system or political perspective through the use of information with the intention of implanting it in people's minds?", "options": [{"label": "A", "text": "Health doctrine", "correct": false}, {"label": "B", "text": "Health propaganda", "correct": true}, {"label": "C", "text": "Health education", "correct": false}, {"label": "D", "text": "Health information", "correct": false}], "correct_answer": "B. Health propaganda", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - Health propaganda</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Health Education (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Propaganda</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Mode of acquisition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Actively <span class=\"customMeta\" data-dictid=\"0f0b2969921692777180de24f0b0c0\">acquired</span> knowledge and skills (active thinking).</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Knowledge (may be false or exaggerated) is instilled in people's minds (facts).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Develops</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Reflective behaviour.</li>\n<li>Trains people to use judgment before acting.</li>\n<li>Individuality.</li>\n<li>Personality.</li>\n<li>Self-expression.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Reflexive behaviour.</li>\n<li>Aims at impulsive action.</li>\n<li>A standard pattern of attitudes and behaviours according to what would be used- a set pattern of behaviour.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Appeals to</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reason</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Emotion</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Knowledge acquisition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>By self-reliant activity</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Spoon-fed and received</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Process centered on</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Behaviour: aims at developing favourable attitudes, habits, and skills.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Information: no changes of attitude- behaviour designed.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In India, which organization is responsible for promoting health awareness?", "options": [{"label": "A", "text": "Central Bureau of health intelligence", "correct": false}, {"label": "B", "text": "Indian council of medical research", "correct": false}, {"label": "C", "text": "Central health education bureau", "correct": true}, {"label": "D", "text": "National health library", "correct": false}], "correct_answer": "C. Central health education bureau", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/AKhoj4vSDj9Mueflp0Ij1747918241.png"], "explanation": "<p>Correct Answer C - Central health education bureau\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The most effective approach to educating an urban slum community about oral rehydration solution (ORS) is -", "options": [{"label": "A", "text": "Lecture", "correct": false}, {"label": "B", "text": "Roleplay", "correct": false}, {"label": "C", "text": "Flashcards", "correct": false}, {"label": "D", "text": "Demonstration", "correct": true}], "correct_answer": "D. Demonstration", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - D\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a country like India, which is characterized by its varied cultures and languages, what measures should a physician adopt to effectively communicate with patients and ensure improved treatment results? 1. Insist on good communication 2. Insist on communication only via an interpreter 3. Treat them regardless of their cultural perceptions 4. The physician should consider the patient’s religion and cultural perception", "options": [{"label": "A", "text": "1, 2", "correct": false}, {"label": "B", "text": "2, 3", "correct": false}, {"label": "C", "text": "3, 4", "correct": false}, {"label": "D", "text": "1, 4", "correct": true}], "correct_answer": "D. 1, 4", "question_images": [], "explanation_images": [], "explanation": "\n<p><strong>References:</strong></p>\n<ul><li>↳ Reference:</li><li>↳ Park’s Textbook of Preventive and Social Medicine, 25th Edition, Page 918 Hutchison’s Clinical Methods, 24th Edition, Page 5, 6, 12</li><li>↳ Park’s Textbook of Preventive and Social Medicine, 25th Edition, Page 918</li><li>↳ Hutchison’s Clinical Methods, 24th Edition, Page 5, 6, 12</li></u\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "ICER is a unit for which of the following economical analysis?", "options": [{"label": "A", "text": "Cost effectiveness", "correct": true}, {"label": "B", "text": "Cost benefit", "correct": false}, {"label": "C", "text": "Cost utility", "correct": false}, {"label": "D", "text": "Cost margin", "correct": false}], "correct_answer": "A. Cost effectiveness", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:625px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type of Analysis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measure Used</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Unit of Benefit</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Example</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cost-Effectiveness Analysis (CEA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ICER</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Natural health units (e.g., life-years gained, infections prevented)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Comparing two drugs for <span class=\"customMeta\" data-dictid=\"45372f6c361692777189ff3209e642\">hypertension</span> based on BP reduction</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cost-Benefit Analysis (CBA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Net Monetary Benefit (NMB)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Money</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Assessing whether a <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> program saves more money than it costs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cost-Utility Analysis (CUA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cost per QALY (Quality-Adjusted Life Year)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>QALY (Quality-Adjusted Life Year)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Comparing cancer treatments based on survival & quality of life</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cost-Minimization Analysis (CMA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Lowest Cost Option</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No effectiveness measure (assumes equal outcomes)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Choosing between two equivalent <span class=\"customMeta\" data-dictid=\"343b03419d169277718828bb100c95\">generic</span> drugs based on price</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Giving class in a village for wound care after a dog bite by enacting it is which mode of health communication?", "options": [{"label": "A", "text": "Lecture", "correct": false}, {"label": "B", "text": "Group discussion", "correct": false}, {"label": "C", "text": "Flashcards", "correct": false}, {"label": "D", "text": "Demonstration", "correct": true}], "correct_answer": "D. Demonstration", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The socially acquired learned behaviour is known as?", "options": [{"label": "A", "text": "Custom", "correct": false}, {"label": "B", "text": "Culture", "correct": true}, {"label": "C", "text": "Socialization", "correct": false}, {"label": "D", "text": "Mores", "correct": false}], "correct_answer": "B. Culture", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which term refers to the practice of instilling a particular point of view in people's minds and inhibiting their independent thought?", "options": [{"label": "A", "text": "Health Propaganda", "correct": true}, {"label": "B", "text": "Health Promotion", "correct": false}, {"label": "C", "text": "Health Awareness", "correct": false}, {"label": "D", "text": "Health Education", "correct": false}], "correct_answer": "A. Health Propaganda", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- Health Propag\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the ANMOL program for auxiliary nurse midwives?", "options": [{"label": "A", "text": "Tablet-based software", "correct": true}, {"label": "B", "text": "TV based", "correct": false}, {"label": "C", "text": "Newspaper", "correct": false}, {"label": "D", "text": "Telephone-based", "correct": false}], "correct_answer": "A. Tablet-based software", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What significant error did the intern make while creating a banner on measures to prevent the spread of non-communicable diseases, as assigned by a group of doctors?", "options": [{"label": "A", "text": "Ban smoking in public areas", "correct": false}, {"label": "B", "text": "Restrictions on alcohol selling/consumption", "correct": false}, {"label": "C", "text": "Shift from PUFA to transfat", "correct": true}, {"label": "D", "text": "Decrease additive salts", "correct": false}], "correct_answer": "C. Shift from PUFA to transfat", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the health education model, the first step is awareness; the second step is motivation. What is the third step?", "options": [{"label": "A", "text": "Reflection", "correct": false}, {"label": "B", "text": "Dedication", "correct": false}, {"label": "C", "text": "Contemplation", "correct": false}, {"label": "D", "text": "Action", "correct": true}], "correct_answer": "D. Action", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/44weURLqYQ0CZSySKpVs1724851376.png", "https://image.prepladder.com/content/9RLU4JvDVx69CXNROWdK1724851390.png"], "explanation": "<p>Correct Option D - A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A patient does not understand the meaning of the doctor's words. Which type of barrier is this?", "options": [{"label": "A", "text": "Cultural", "correct": false}, {"label": "B", "text": "Linguistic", "correct": true}, {"label": "C", "text": "Psychological", "correct": false}, {"label": "D", "text": "Environmental", "correct": false}], "correct_answer": "B. Linguistic", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Cultural</strong></td>\n<td>Differences in beliefs, values, or customs</td>\n<td>A patient rejecting treatment due to cultural beliefs</td>\n</tr>\n<tr>\n<td><strong>Linguistic</strong></td>\n<td>Barriers related to language or word usage</td>\n<td>A patient not understanding medical terminology</td>\n</tr>\n<tr>\n<td><strong>Psychological</strong></td>\n<td>Related to emotions, stress, anxiety, or mental health</td>\n<td>A patient too anxious to listen or comprehend</td>\n</tr>\n<tr>\n<td><strong>Environmental</strong></td>\n<td>Due to external distractions like noise, poor lighting, or space</td>\n<td>A <span class=\"customMeta\" data-dictid=\"61d68435aa1692777185d5e4ccda1d\">consultation</span> held in a noisy hospital corridor</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the main unit of administration in India called?", "options": [{"label": "A", "text": "Village", "correct": false}, {"label": "B", "text": "Centre", "correct": false}, {"label": "C", "text": "District", "correct": true}, {"label": "D", "text": "State", "correct": false}], "correct_answer": "C. District", "question_images": [], "explanation_images": [], "explanation": "\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Principal Unit of Administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Village</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Villages are the basic units of rural administration in India. Several villages together <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> a larger administrative unit known as a block or tehsil.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>District</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Districts are the principal units of administration in India.. <strong>Districts are further divided into smaller administrative units such as sub-districts (tehsils) or taluks, which comprise multiple villages.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>State</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>States in India have their own elected governments and legislatures.<strong>.</strong> States consist of multiple districts, and each district has its own administration under the state government.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Centre</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> refers to the <strong>Central Government of India, which is the highest level of administration in the country.</strong> The <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> interacts with the states and provides guidance and support in various areas, but it does not directly administer local units.</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Under the Factories Act of 1948, a social legislation aimed at ensuring the safety, health, and well-being of workers in their workplace, what is the prescribed limit for the maximum number of working hours per week?", "options": [{"label": "A", "text": "42 hours/week", "correct": false}, {"label": "B", "text": "48 hours/week", "correct": true}, {"label": "C", "text": "54 hours/week", "correct": false}, {"label": "D", "text": "60 hours/week", "correct": false}], "correct_answer": "B. 48 hours/week", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Regarding ASHA, all are true except:", "options": [{"label": "A", "text": "Malaria slide preparation", "correct": true}, {"label": "B", "text": "Ensure immunization as per schedule", "correct": false}, {"label": "C", "text": "Accompany pregnant women to hospital", "correct": false}, {"label": "D", "text": "Spread awareness about contraception", "correct": false}], "correct_answer": "A. Malaria slide preparation", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a community, an awareness session on handwashing was organized. The appropriate order of events in this session is:", "options": [{"label": "A", "text": "Awareness &gt; interest &gt; adoption &gt; evaluation", "correct": false}, {"label": "B", "text": "Awareness &gt; interest &gt; evaluation &gt; adoption", "correct": true}, {"label": "C", "text": "Evaluation &gt; adoption &gt; awareness &gt; interest", "correct": false}, {"label": "D", "text": "Adoption &gt; awareness &gt; interest &gt; evaluation", "correct": false}], "correct_answer": "B. Awareness > interest > evaluation > adoption", "question_images": [], "explanation_images": [], "explanation": "<p>Correct option B\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term commonly used to describe a mode of communication wherein 4-8 speakers engage in a discussion on a specific topic in front of a large audience, without following a specific agenda, predetermined speeches, or a set order of speaking, and eventually interact with the audience?", "options": [{"label": "A", "text": "Panel discussion", "correct": true}, {"label": "B", "text": "Symposium", "correct": false}, {"label": "C", "text": "Workshop", "correct": false}, {"label": "D", "text": "Seminar", "correct": false}], "correct_answer": "A. Panel discussion", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/r8bY0MbCddEuJmW83mKc1685091575.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 30 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "In a rural community, there is a sudden outbreak of a waterborne disease, necessitating immediate intervention. The local health authorities have identified that additional trained medical personnel are required to effectively manage the situation. In the context of health planning, what do manpower and money represent?", "options": [{"label": "A", "text": "Objectives", "correct": false}, {"label": "B", "text": "Evaluation", "correct": false}, {"label": "C", "text": "Resources", "correct": true}, {"label": "D", "text": "Monitoring", "correct": false}], "correct_answer": "C. Resources", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/zGFHcPjJ8sTxJFpkmijF1734085070.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3xTLVVkP3h3uY3PexXdi1734701056.mp3", "video": ""}, {"text": "In health planning, which term refers to a broad aim or purpose distinct from specific measurable outcomes?", "options": [{"label": "A", "text": "Target", "correct": false}, {"label": "B", "text": "Goal", "correct": true}, {"label": "C", "text": "Objective", "correct": false}, {"label": "D", "text": "Strategy", "correct": false}], "correct_answer": "B. Goal", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/bzW40oFmDHjP4S8oKr3i1734701204.mp3", "video": ""}, {"text": "According to the recommendations of the Chadha Committee, what was the proposed ratio of basic health workers to the population ?", "options": [{"label": "A", "text": "1 worker for every 1000 population", "correct": false}, {"label": "B", "text": "1 worker for every 5000 population", "correct": false}, {"label": "C", "text": "1 worker for every 10000 population", "correct": true}, {"label": "D", "text": "1 worker for every 20000 population", "correct": false}], "correct_answer": "C. 1 worker for every 10000 population", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/onYX0kBHkXvMWUgzQKME1734701335.mp3", "video": ""}, {"text": "Which organization is primarily responsible for developing the Health Index in India?", "options": [{"label": "A", "text": "Ministry of Health and Family Welfare", "correct": false}, {"label": "B", "text": "NITI Aayog", "correct": true}, {"label": "C", "text": "Indian Council of Medical Research (ICMR)", "correct": false}, {"label": "D", "text": "World Health Organization (WHO)", "correct": false}], "correct_answer": "B. NITI Aayog", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/SIxLsbvht2H1b8eJote51734085110.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/JRO9U0gf8ufRbqhHFsoV1734701454.mp3", "video": ""}, {"text": "Which health management technique is used for creating a graphical representation of all events and activities required to complete a project enabling timely project completion?", "options": [{"label": "A", "text": "Systems Analysis", "correct": false}, {"label": "B", "text": "Programme Evaluation and Review Technique (PERT)", "correct": true}, {"label": "C", "text": "Cost-Effectiveness Analysis", "correct": false}, {"label": "D", "text": "Planning–Programming–Budgeting System (PPBS)", "correct": false}], "correct_answer": "B. Programme Evaluation and Review Technique (PERT)", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/IFGNKNGgekp6ABy7fx131734085144.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Qualitative<br/>\n\t\t\t(Based on behavioural sciences)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Quantitative</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"8\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Mnemonic: POCIMOn</strong></p>\n<ul>\n<li><strong>P</strong>ersonal management</li>\n<li><strong>O</strong>rganizational design</li>\n<li><strong>C</strong>ommunication</li>\n<li><strong>I</strong>nformation system</li>\n<li><strong>M</strong>anagement by <strong>O</strong>bjectives</li>\n</ul>\n</td>\n<td colspan=\"1\" rowspan=\"8\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cost-benefit analysis</li>\n<li>Cost-effective analysis</li>\n<li>Cost-accounting</li>\n<li>Decision making</li>\n<li>PPBS - Planning, Programming, and Budgeting System</li>\n<li>Work sampling</li>\n<li>Network analysis</li>\n<li>System analysis</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RdLNQHgxoxlaOfGmfYkZ1734701762.mp3", "video": ""}, {"text": "Which of the following statements correctly describes the difference between Cost-Benefit Analysis and Cost-Effective Analysis in health management?", "options": [{"label": "A", "text": "Cost-Benefit Analysis focuses on the qualitative aspects of health services, while Cost-Effective Analysis focuses on quantitative aspects.", "correct": false}, {"label": "B", "text": "Cost-benefit analysis compares monetary costs and benefits, whereas Cost-Effectiveness Analysis compares the costs to achieve a specific non-monetary outcome.", "correct": true}, {"label": "C", "text": "Cost-Benefit Analysis is used for planning and budgeting, while Cost-Effective Analysis is used for project scheduling.", "correct": false}, {"label": "D", "text": "Cost-Benefit Analysis evaluates staff performance, whereas Cost-Effective Analysis evaluates patient outcomes.", "correct": false}], "correct_answer": "B. Cost-benefit analysis compares monetary costs and benefits, whereas Cost-Effectiveness Analysis compares the costs to achieve a specific non-monetary outcome.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/soOlX6H8fIBgKdegPAKi1734701921.mp3", "video": ""}, {"text": "Which of the following is an incorrect statement regarding Work Sampling as a health management technique?", "options": [{"label": "A", "text": "Work Sampling involves systematic observation and recording of activities at random intervals to estimate the proportion of time spent on different tasks.", "correct": false}, {"label": "B", "text": "Work Sampling is used for the evaluation of Doctors, Nurses, and Pharmacists.", "correct": false}, {"label": "C", "text": "Work Sampling helps to calculate the total project cost by evaluating the monetary benefits of health interventions.", "correct": true}, {"label": "D", "text": "Work Sampling is a quantitative type of health management technique.", "correct": false}], "correct_answer": "C. Work Sampling helps to calculate the total project cost by evaluating the monetary benefits of health interventions.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7Tgq2JgI893Zior3xgKp1734701601.mp3", "video": ""}, {"text": "Match the following Class Names with their % of total items and % of Total Cost according to ABC Classification of Inventory Management- Class Name % of Total Items % of Total Cost A. Class-A 1. 20-40% i. 05-20% B. Class-B 2. 40-75% ii.15-40% C. Class-C 3. 05-25% iii. 40-80%", "options": [{"label": "A", "text": "Class A-3-ii, Class B-1-iii, Class C-2-i", "correct": false}, {"label": "B", "text": "Class A-3-i, Class B-2-ii, Class C-1-iii", "correct": false}, {"label": "C", "text": "Class A-3-iii, ClassB-1-ii, Class C-2-i", "correct": true}, {"label": "D", "text": "D) Class A-2-i, Class B-1-ii, Class C-3-iii", "correct": false}], "correct_answer": "C. Class A-3-iii, ClassB-1-ii, Class C-2-i", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3hiPh3ajgqNuFdYAFk7E1734702223.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 18 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is related to Navjaat Shishu Suraksha Karyakram?", "options": [{"label": "A", "text": "Mother", "correct": false}, {"label": "B", "text": "Children", "correct": false}, {"label": "C", "text": "Newborn", "correct": true}, {"label": "D", "text": "Pregnant woman", "correct": false}], "correct_answer": "C. Newborn", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/R5aav05rKuMYKqgQNhuq1747206536.png"], "explanation": "<p>Correct Option C - Newborn</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Navjaat Shishu Suraksha Karyakram(NSSK)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<ul>\n<li>A training program launched by the Indian Government to equip doctors and nurses with essential <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> care skills, specifically addressing birth asphyxia.</li>\n<li>The ultimate goal is to reduce <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> mortality and morbidity.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p><strong>Goals/Objectives</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<ul>\n<li>Reduce Neonatal Mortality Rate: Decrease India's Neonatal Mortality Rate to single digits by 2030.</li>\n<li>Improve <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">Newborn</span> Care Quality: Enhance the quality of <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> care.</li>\n<li>Prevent <span class=\"customMeta\" data-dictid=\"a0d3680eab1692777195d6ab932b14\">Perinatal</span> Asphyxia-Related Issues: Reduce <span class=\"customMeta\" data-dictid=\"9b7604d5461692777192546af7cabd\">morbidity</span> and mortality <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> to <span class=\"customMeta\" data-dictid=\"a0d3680eab1692777195d6ab932b14\">perinatal</span> asphyxia.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<p><strong>Strategies </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none; vertical-align:top\">\n<ul>\n<li>Capacity Building: Equip healthcare providers with necessary knowledge and skills.</li>\n<li>Essential <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">Newborn</span> Care and <span class=\"customMeta\" data-dictid=\"d343b06c7f1692777197edaea107af\">Resuscitation</span> Training.</li>\n<li>Updated Curriculum and Training Methodology</li>\n<li>Standardized Equipment and Supplies: Provide clean, functional equipment.</li>\n<li>Effective Knowledge and Skill Transfer: Improve practical application of training.</li>\n<li>Focus on \"Golden Minute\": Quick assessment and resuscitation. Promoting Clean Birth Practices: Adhere to WHO's \"six cleans\". Kangaroo Mother Care (KMC). Promotion: Encourage KMC for low birth weight babies.</li>\n<li>Timely Immunization: Ensure <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> before discharge.</li>\n<li>Educate parents on <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> care.</li>\n<li>Effective Neonatal Transport: Establish protocols for the safe transport of sick newborns.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Hyperpigmentation and keratosis can be seen with which of the following:", "options": [{"label": "A", "text": "Arsenic", "correct": true}, {"label": "B", "text": "Cadmium", "correct": false}, {"label": "C", "text": "Copper", "correct": false}, {"label": "D", "text": "Zinc", "correct": false}], "correct_answer": "A. Arsenic", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/QQAHREEakmy9kBG3tWAk1745996935.png", "https://image.prepladder.com/content/zxMPpIyHMPGaQEI33xUi1745996936.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:590px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Heavy metal </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Source of exposure </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Clinical features </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Lead</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Non-industrial </strong></p>\n<ul>\n<li>Gasoline from automobile exhaust.</li>\n<li>Contaminated water from lead pipes.</li>\n<li>Lead paints in old homes.<strong> </strong></li>\n</ul>\n<p> </p>\n<p><strong>Industrial </strong></p>\n<ul>\n<li>Battery and <span class=\"customMeta\" data-dictid=\"ff63f91a5e16927771858327cda029\">cosmetic</span> manufacturing</li>\n<li>Printing paint and <span class=\"customMeta\" data-dictid=\"e8a3764ab516927771863f3212fc41\">dye</span> factories</li>\n<li>Glass manufacturing</li>\n<li>Shipbuilding</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Organic lead </strong></p>\n<ul>\n<li>Wrist and/or foot drop.</li>\n<li>Insomnia.</li>\n<li>Headache.</li>\n<li>Mental confusion.</li>\n</ul>\n<p> </p>\n<p><strong>Inorganic lead </strong></p>\n<ul>\n<li>Anemia.</li>\n<li>Burton’s line - blue lines on gums.</li>\n<li>Colic, <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain with diarrhoea/constipation.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Arsenic </strong></p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Pesticide</li>\n<li>Contaminated water</li>\n<li>Copper and lead smelting</li>\n<li>Wood preservatives</li>\n</ul>\n<p> </p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Acute <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li>Gastroenteritis <strong>(Rice watery diarrhoea) </strong></li>\n<li>Hypotension</li>\n<li>Non-cardiogenic <span class=\"customMeta\" data-dictid=\"10e2dee19e1692777196673db90c23\">pulmonary</span> oedema</li>\n<li>Proteinuria</li>\n<li>Seizures, <span class=\"customMeta\" data-dictid=\"74ef5626ab16927771855274381e00\">delirium</span> and encephalopathy</li>\n</ul>\n<p> </p>\n<p><strong>Subacute <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> (1-3 weeks)</strong></p>\n<ul>\n<li><strong>Glove stocking pattern <span class=\"customMeta\" data-dictid=\"04863b50b516927771967b59757561\">polyneuropathy</span> </strong></li>\n<li>Absent deep <span class=\"customMeta\" data-dictid=\"606c2acae5169277720052151cb04c\">tendon</span> reflex</li>\n<li>Anemia, Leukopenia</li>\n</ul>\n<p> </p>\n<p><strong>Chronic <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li><strong>Raindrop pattern hyperpigmentation</strong></li>\n<li>Palmar-plantar hyperkeratosis</li>\n<li>Alopecia</li>\n<li>Angiosarcoma</li>\n<li>Hepatomegaly</li>\n<li>Gangrene of extremities.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Mercury </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Fish (from water pollution)</li>\n<li>Dental amalgam</li>\n<li>Gold and <span class=\"customMeta\" data-dictid=\"b59bbde2f816927771924bb2b17b64\">mercury</span> mining</li>\n<li>Contaminated food and grains</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Greying of the oral mucosa</li>\n<li>Hemorrhagic gastroenteritis</li>\n<li>Acute <span class=\"customMeta\" data-dictid=\"98d387b7bd1692777201278b27be72\">tubular</span> necrosis</li>\n<li>Shock</li>\n<li>Excessive irritability</li>\n<li><strong>Acrodynia </strong>(painful extremities)</li>\n<li>Facial paresthesias</li>\n<li>Ataxia (loss of coordination), Dementia</li>\n<li>Blindness</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Cadmium </strong></p>\n<p><strong>(Option D ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Smoking</li>\n<li>Paint manufacturing</li>\n<li>Nickel-cadmium battery manufacturing</li>\n<li>Plastic production</li>\n</ul>\n<p> </p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Acute <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li>Inhalation: Pneumonitis; ARDS</li>\n<li>Ingestion: GIT hemorrhagic necrosis</li>\n</ul>\n<p> </p>\n<p><strong>Chronic <span class=\"customMeta\" data-dictid=\"072b8af16e1692777196f21b086f92\">poisoning</span> </strong></p>\n<ul>\n<li>Osteomalacia</li>\n<li>Parkinson like symptoms</li>\n<li>Proteinuria</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Raindrop <span class=\"customMeta\" data-dictid=\"b5f46d7e431692777195efd6b43e9f\">pigmentation</span> (Arsenic poisoning)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Acrodynia (Mercury poisoning)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"Anita Ghosh\" data-hash=\"\" data-license=\"CC BY-SA 2.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Arsenic_Poisoning.jpg\" data-tags=\"\" height=\"370\" src=\"https://image.prepladder.com/content/QQAHREEakmy9kBG3tWAk1745996935.png\" width=\"449\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"https://www.semanticscholar.org/paper/Heavy-metal-poisoning%3A-clinical-presentations-and-Ibrahim-Froberg/9ffd2e4ee7b6d8d7753edb25f459c679c4dee6d5\" data-tags=\"\" height=\"312\" src=\"https://image.prepladder.com/content/zxMPpIyHMPGaQEI33xUi1745996936.png\" width=\"449\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to WHO, what proportions of GNP should be spent on health services?", "options": [{"label": "A", "text": "2%", "correct": false}, {"label": "B", "text": "2.5%", "correct": false}, {"label": "C", "text": "3.5%", "correct": false}, {"label": "D", "text": "5%", "correct": true}], "correct_answer": "D. 5%", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A doctor is consulted by a woman who is 8 weeks pregnant and employed in an industry. As per the ESI act, what is the length of maternity leave she is entitled to?", "options": [{"label": "A", "text": "4 months", "correct": false}, {"label": "B", "text": "28 weeks, starting from 4 weeks after delivery", "correct": true}, {"label": "C", "text": "26 weeks, starting from 8 weeks before delivery", "correct": false}, {"label": "D", "text": "9 months", "correct": false}], "correct_answer": "B. 28 weeks, starting from 4 weeks after delivery", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a hospital setting, the management seeks to determine the average duration of doctor-patient interactions in order to assess the need for adjusting the number of doctors. This adjustment is aimed at enhancing the quality of care provided. Which management technique would be most appropriate for this purpose?", "options": [{"label": "A", "text": "Model", "correct": false}, {"label": "B", "text": "Decision making", "correct": false}, {"label": "C", "text": "Personnel management", "correct": false}, {"label": "D", "text": "Work sampling", "correct": true}], "correct_answer": "D. Work sampling", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - Work <span class=\"customMeta\" data-dictid=\"521de62abe16927771989a90d0e9e8\">sampling</span> </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Qualitative (Based on behavioural sciences)</strong></p>\n<p style=\"text-align: center;\"><strong>POCIMon</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Quantitative</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Personal management</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Cost-benefit analysis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Organizational design</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Cost-effective analysis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Communication</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Cost-accounting</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Information system</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Decision making</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Management by objectives</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">PPBS - Planning, Programming, and Budgeting System</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Work sampling</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Network analysis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">System analysis</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is assessed by evaluating the patient's treatment and clinical management in a healthcare facility?", "options": [{"label": "A", "text": "Outcome", "correct": false}, {"label": "B", "text": "Process", "correct": true}, {"label": "C", "text": "Structure", "correct": false}, {"label": "D", "text": "Input", "correct": false}], "correct_answer": "B. Process", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Evaluation Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Focus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Purpose</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Structure Evaluation (Option C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Assesses the resources and organizational components of healthcare facilities.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Infrastructure, staff qualifications, medical equipment</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure the healthcare facility has adequate resources, equipment, and trained staff.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Process Evaluation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Assesses how healthcare services are delivered, <span class=\"customMeta\" data-dictid=\"fefa53d9f216927772037e31a651d7\">focusing</span> on procedures and practices.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Clinical guidelines, care delivery methods, patient interactions</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure care is aligned with best practices and protocols.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Outcome Evaluation (Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Evaluates the results of healthcare interventions.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Health outcomes, symptom improvement, recovery, patient satisfaction</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Determine the effectiveness of treatments and interventions in improving health.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Input Evaluation (Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Assesses the resources available for healthcare.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Financial resources, staff levels, medical supplies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure sufficient resources for effective healthcare delivery.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Cost-Effectiveness Evaluation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Assesses whether the intervention provides good value for the cost.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cost relative to health outcomes, alternative treatments</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure the efficient use of resources and value for money in healthcare.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Patient-Centered Evaluation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Focuses on patient experience and satisfaction.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Patient satisfaction, provider-patient relationship, treatment understanding</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure care aligns with patient needs and improves their experience and compliance.</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Key Focus Areas</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Relevance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Assesses whether the program addresses the priority health needs of the target population.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Disease burden, target group needs, <span class=\"customMeta\" data-dictid=\"3c0c325f4216927771819e5d0eb581\">alignment</span> with <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> goals.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Adequacy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Evaluates whether the resources and scale of the program are sufficient to achieve the intended outcomes.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Coverage, resource allocation, unmet needs.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Accessibility</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measures how easily beneficiaries can access program services.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Geographic, financial, and cultural barriers to access.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Acceptability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Determines whether the program is acceptable to beneficiaries and stakeholders.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Community participation, cultural compatibility, stakeholder feedback.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Equity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Assesses whether the program reduces disparities in health outcomes and services.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reach among marginalized populations, fairness in resource distribution.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Efficiency</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Evaluates the <span class=\"customMeta\" data-dictid=\"208cf74d74169277719486afd05eb3\">optimal</span> use of resources to achieve desired outcomes.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cost-efficiency, time management, operational performance.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Effectiveness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Measures the extent to which the program achieves its objectives and desired outcomes.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reduction in <span class=\"customMeta\" data-dictid=\"9b7604d5461692777192546af7cabd\">morbidity</span> and mortality, behavior changes, program goals met.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following methods relies on the principles of behavioral sciences?", "options": [{"label": "A", "text": "Decision making", "correct": false}, {"label": "B", "text": "Systems analysis", "correct": false}, {"label": "C", "text": "Network analysis", "correct": false}, {"label": "D", "text": "Management by objective", "correct": true}], "correct_answer": "D. Management by objective", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Management by objectiv\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In which of the following analyses is the financial advantage quantified?", "options": [{"label": "A", "text": "Cost-effective analysis", "correct": false}, {"label": "B", "text": "Cost-benefit analysis", "correct": true}, {"label": "C", "text": "Network analysis", "correct": false}, {"label": "D", "text": "Input-Output analysis", "correct": false}], "correct_answer": "B. Cost-benefit analysis", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Cost-benefit A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the ultimate desired state towards which objectives and resources are aimed in the medical field?", "options": [{"label": "A", "text": "Target", "correct": false}, {"label": "B", "text": "Mission", "correct": false}, {"label": "C", "text": "Goal", "correct": true}, {"label": "D", "text": "Plan", "correct": false}], "correct_answer": "C. Goal", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is defined as the systematic observation and recording of activities of one or more individuals at predetermined or random intervals?", "options": [{"label": "A", "text": "Model", "correct": false}, {"label": "B", "text": "Decision making", "correct": false}, {"label": "C", "text": "Personnel management", "correct": false}, {"label": "D", "text": "Work sampling", "correct": true}], "correct_answer": "D. Work sampling", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "NITI Aayog has replaced the?", "options": [{"label": "A", "text": "Medical council of India (MCI)", "correct": false}, {"label": "B", "text": "National institute of health &amp; family welfare (NIHFW)", "correct": false}, {"label": "C", "text": "National planning commission (NPC)", "correct": true}, {"label": "D", "text": "National board of examinations (NBE)", "correct": false}], "correct_answer": "C. National planning commission (NPC)", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C) National planning commission (NPC)\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Under which benefit in the ESI act do beneficiaries receive 70% of their wages for a duration of 3 months?", "options": [{"label": "A", "text": "Sickness benefit", "correct": true}, {"label": "B", "text": "Medical benefit", "correct": false}, {"label": "C", "text": "Maternity benefit", "correct": false}, {"label": "D", "text": "Dependent's benefit", "correct": false}], "correct_answer": "A. Sickness benefit", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:782px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Benefits of ESI (Employees State Insurance) Act</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Medical Benefit <strong>(Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Provides \"full medical care,\" including <span class=\"customMeta\" data-dictid=\"277d6f3ee2169277718938e321258f\">hospitalization</span> <span class=\"customMeta\" data-dictid=\"1a8e8831bb1692777182ce2c8a751f\">at no</span> cost to insured individuals & families in cases of sickness, employment injury, and maternity.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sickness Benefit <strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Provides <strong>70% </strong>of average daily wages in cash during medical leave for a maximum of 91 days within 365 days, as certified by the Insurance Medical Officer/Practitioner.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Extended </strong>Sickness Benefit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Extended coverage for long-term diseases beyond 91 days; 34 diseases covered if employed for two years.</li>\n<li>Extended <span class=\"customMeta\" data-dictid=\"73c1caf8d11692777198b1248373d3\">sickness</span> benefit is paid at <strong>80%</strong> of the insured person's wages.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Enhanced </strong>Sickness Benefit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cash benefits (100% wages) for <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> procedures:\n\t\t\t\t<ul>\n<li>14 days for <span class=\"customMeta\" data-dictid=\"2a6989bad01692777201a73b82b799\">tubectomy</span> (women),</li>\n<li>7 days for <span class=\"customMeta\" data-dictid=\"8b8c53004d1692777201cf3df335f5\">vasectomy</span> (men).</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Maternity Benefit <strong>(Option C ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Cash payments for childbirth, miscarriage, or pregnancy-related sickness:\n\t\t\t\t<ul>\n<li>26 weeks for childbirth,</li>\n<li>6 weeks for miscarriage, and</li>\n<li>40 days for pregnancy-related sickness.</li>\n</ul>\n</li>\n<li>Paid at 100% of the insured woman's average daily wages.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Disablement Benefit</p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Temporary Disablement Benefit (TDB):\n\t\t\t\t<ul>\n<li>90% of wages paid from day one for temporary employment injury, until recovery.</li>\n</ul>\n</li>\n<li>Permanent Disablement Benefit (PDB):\n\t\t\t\t<ul>\n<li>90% of wages paid monthly for life, based on certified loss of earning capacity.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Dependent's Benefit <strong>(Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Dependents receive 90% of the deceased's (due to employment injuries) wages as a shared pension, and they are eligible until age 18.</li>\n<li><strong>If the daughter marries before 18, the benefit is withdrawn. </strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Funeral Expenses</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>It offers a cash payment of up to<strong> Rs. 15,000 </strong>to cover funeral expenses upon the death of an insured individual.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rehabilitation</p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Insured individuals and their families are entitled to continued medical treatment after permanent disablement or retirement.</li>\n<li>They have to pay a <span class=\"customMeta\" data-dictid=\"01cc201eb616927771937a9ae6c669\">nominal</span> fee of Rs.10 per month for this benefit.</li>\n<li>A rehabilitation <span class=\"customMeta\" data-dictid=\"f8330e788f16927771812e4f73b80c\">allowance</span> of Rs.15,000 granted.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Unemployment allowance</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>For eligible employees due to factory <span class=\"customMeta\" data-dictid=\"2b4569285f1692777184282b1ca3f1\">closure</span> or retrenchment: 50% of wage for up to two years.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The most accurate representation of maternal mortality ratio (MMR) for a nation is", "options": [{"label": "A", "text": "Maternal deaths per 100 live births", "correct": false}, {"label": "B", "text": "Maternal deaths per 10,000 live births", "correct": false}, {"label": "C", "text": "Maternal deaths per 100,000 live births", "correct": true}, {"label": "D", "text": "Maternal deaths per 1,000 live births", "correct": false}], "correct_answer": "C. Maternal deaths per 100,000 live births", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C: <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">Maternal</span> deaths per 100,000 live births.\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the denominator used in the calculation of case fatality rate?", "options": [{"label": "A", "text": "Total number of deaths due to all causes", "correct": false}, {"label": "B", "text": "Total number of hospital admissions", "correct": false}, {"label": "C", "text": "Total number of cases due to the disease concerned", "correct": true}, {"label": "D", "text": "Total number of deaths due to the disease concerned", "correct": false}], "correct_answer": "C. Total number of cases due to the disease concerned", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following recommendations was NOT made by the Chadha committee?", "options": [{"label": "A", "text": "PHC at block level", "correct": false}, {"label": "B", "text": "One PHC for 50,000 population", "correct": true}, {"label": "C", "text": "One basic health worker per 10,000 population", "correct": false}, {"label": "D", "text": "Responsibility of PHCs in malaria eradication", "correct": false}], "correct_answer": "B. One PHC for 50,000 population", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B: One PHC for 50,000 popu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following best describes the services covered under UNICEF's GOBI-FFF strategy?", "options": [{"label": "A", "text": "Providing emergency relief and disaster response", "correct": false}, {"label": "B", "text": "Promoting environmental sustainability and climate action", "correct": false}, {"label": "C", "text": "Enhancing maternal health and prenatal care", "correct": false}, {"label": "D", "text": "Addressing essential child health interventions", "correct": true}], "correct_answer": "D. Addressing essential child health interventions", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/fOpao5NA88m2nMGHA4u91725034712.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ZnyM1Lzel4Rh1qPLL9Uz1736245330.mp3", "video": ""}, {"text": "Which international organization primarily focuses on reproductive health and population issues?", "options": [{"label": "A", "text": "FAO", "correct": false}, {"label": "B", "text": "WFP", "correct": false}, {"label": "C", "text": "UNFPA", "correct": true}, {"label": "D", "text": "Urban HEART", "correct": false}], "correct_answer": "C. UNFPA", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/4Ux9PCIUpSOvV3RGLcZO1725520445.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/DxFjv1IglfTguHKT0Y6J1736245782.mp3", "video": ""}, {"text": "Which of the following is not a bilateral agency?", "options": [{"label": "A", "text": "USAID", "correct": false}, {"label": "B", "text": "World bank", "correct": true}, {"label": "C", "text": "SIDA", "correct": false}, {"label": "D", "text": "DANIDA", "correct": false}], "correct_answer": "B. World bank", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/98uX2zrBObsCeiJ82rsQ1725035556.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Agencies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Headquarters</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Services in India</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Option A: </strong></p>\n<p><strong>United States Agency for International Development (USAID)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Washington</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Malaria eradication</li>\n<li>Medical and <span class=\"customMeta\" data-dictid=\"6f686e0c91169277719346f95361c8\">nursing</span> education</li>\n<li>Health education</li>\n<li>Water supply and sanitation</li>\n<li>Nutrition and Family Planning</li>\n<li>Control of <span class=\"customMeta\" data-dictid=\"6f6ef8bf7c1692777184dfdf8cf45d\">Communicable</span> Diseases</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Option C: </strong></p>\n<p><strong>Swedish International Development Agency (SIDA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Sweden</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Assisting the National TB Control Program</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Option D: </strong></p>\n<p><strong>Danish International Development Agency (DANIDA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><em>Denmark</em></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Assisting the National <span class=\"customMeta\" data-dictid=\"cf284485b71692777183c57876bed2\">Blindness</span> Control Programme</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CUGreDc55Dxd6RIDuNi01736245980.mp3", "video": ""}, {"text": "Which organisation promotes economic and social development in South Asia and the South-East Asia region?", "options": [{"label": "A", "text": "Colombo Plan", "correct": true}, {"label": "B", "text": "Rockefeller Foundation", "correct": false}, {"label": "C", "text": "Ford Foundation", "correct": false}, {"label": "D", "text": "CARE", "correct": false}], "correct_answer": "A. Colombo Plan", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/qaYYwgZkyXsQtiXfoiFT1725520529.png", "https://image.prepladder.com/content/c2yHlaZ4nRsWI57Pa94E1725520550.png", "https://image.prepladder.com/content/rqb0iyV9PDgW61YgM9A81725520571.png", "https://image.prepladder.com/content/SICWnl2ehTHsbImHadkI1725520585.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:785px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>The Colombo Plan</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"1867\" src=\"https://image.prepladder.com/content/qaYYwgZkyXsQtiXfoiFT1725520529.png\" width=\"1999\"/></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Multilateral agency.</li>\n<li>Promotes the concept of collective intergovernmental for economic and social development in South and Southeast Asia.</li>\n<li>Primary focus is on agricultural and industrial development and sometimes on health.</li>\n<li>Membership - 20 developing countries.</li>\n<li>6 non-regional members - Australia, Canada, Japan, New Zealand, UK, USA.</li>\n<li><strong>Provides <span class=\"customMeta\" data-dictid=\"e3555f448716927771844820d69cfa\">Cobalt</span> <span class=\"customMeta\" data-dictid=\"a75f060aa1169277719777dd69df3f\">Radiotherapy</span> Units to Medical Colleges</strong></li>\n<li>AIIMS in New Delhi was established with financial assistance from New Zealand.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rockefeller Foundation (NGO)</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"608\" src=\"https://image.prepladder.com/content/c2yHlaZ4nRsWI57Pa94E1725520550.png\" width=\"1999\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Headquarters - <em>New York.</em></li>\n<li>Work in India began in 1920 with a scheme for control of <span class=\"customMeta\" data-dictid=\"2db7faaac316927771894a9f7f00bc\">hookworm</span> disease in Madras presidency.</li>\n<li>Established All India Institute of <span class=\"customMeta\" data-dictid=\"15fa752a4f1692777189fe275abf3f\">Hygiene</span> and <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">Public Health</span> at Kolkata</li>\n<li>Sponsoring visits of medical specialists from the USA.</li>\n<li>Grants-in-aid to select institutions for research and development.</li>\n<li>Assistance to research projects and institutions</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Ford Foundation (NGO)</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"1878\" src=\"https://image.prepladder.com/content/rqb0iyV9PDgW61YgM9A81725520571.png\" width=\"1999\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Headquarters - <em>New York.</em></li>\n<li>Active in the development of rural health services and family planning.</li>\n<li>Ford Foundation has helped India with the following projects:\n\t\t\t\t<ul>\n<li>Rural Health and Rural environment and sanitation</li>\n<li>Establishment of the National Institute of Health Administration and Education (NIHAE) at Delhi</li>\n<li>Kolkata water supply and <span class=\"customMeta\" data-dictid=\"dd824a31e71692777186c7f8168998\">drainage</span> scheme</li>\n<li>Supporting research in <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> biology and family planning fellowship programs</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CARE- Cooperative for assistance and Relief Everywhere (NGO)</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"734\" src=\"https://image.prepladder.com/content/SICWnl2ehTHsbImHadkI1725520585.png\" width=\"1999\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Headquarters - <em>Geneva.</em></li>\n<li>Provides emergency aid and long-term development assistance</li>\n<li>In India:\n\t\t\t\t<ul>\n<li>Integrated <span class=\"customMeta\" data-dictid=\"05bef24e711692777193a154b462b4\">Nutrition</span> and Health Project</li>\n<li><strong>Improving Women's Health Project</strong></li>\n<li>Anaemia Control Project</li>\n<li><strong>Improved Health Care for Adolescent Girls Project</strong></li>\n<li>Child Survival Project</li>\n<li><strong>Family <span class=\"customMeta\" data-dictid=\"efd43504b2169277719883db21b626\">Spacing</span> Project</strong></li>\n<li>Konkan Integrated Development Project</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/E7kqyONT0CPeCI7yw6KV1736246448.mp3", "video": ""}, {"text": "Which of the following organisations has its headquarters in Geneva?", "options": [{"label": "A", "text": "UNAID", "correct": true}, {"label": "B", "text": "UNDP", "correct": false}, {"label": "C", "text": "UNFPA", "correct": false}, {"label": "D", "text": "UNICEF", "correct": false}], "correct_answer": "A. UNAID", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Headquarters of various health organizations</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>New York </strong>(All the organisations starting with UN except UNAID)</p>\n<ul>\n<li>UN</li>\n<li>UNDP</li>\n<li>UNFPA</li>\n<li>UNICEF</li>\n<li>Rockefeller Foundation</li>\n<li>FORD Foundation</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Geneva </strong></p>\n<ul>\n<li>UNAID (Exception) ∙ WHO</li>\n<li>International Labour Organization</li>\n<li>International Red Cross ∙ CARE</li>\n</ul>\n<br/>\n\t\t\t </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Washington </strong></p>\n<ul>\n<li>World Bank</li>\n<li>USAID</li>\n<li>The Pan American Health Organization (PAHO)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rome</strong></p>\n<ul>\n<li>FAO</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong><em><u>Note</u></em></strong><strong><em>: </em></strong>Headquarters of UNESCO (doesn’t deal with health)- <strong>Paris</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gUCLCUugYbhbOzCPZWxi1736246642.mp3", "video": ""}, {"text": "Which of the following is NOT one of the Sustainable Development Goals (SDGs) adopted by the United Nations in 2015?", "options": [{"label": "A", "text": "End poverty in all its forms everywhere", "correct": false}, {"label": "B", "text": "Ensure inclusive and equitable quality education for all", "correct": false}, {"label": "C", "text": "Promote sustainable consumption and production patterns", "correct": false}, {"label": "D", "text": "Achieve world peace and disarmament", "correct": true}], "correct_answer": "D. Achieve world peace and disarmament", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/8LoGhvqjXSBlgMtSSNGZ1725520648.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:728px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>End poverty everywhere in all its forms. <strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Zero hunger-<strong> </strong>Achieve food security, improve nutrition, and promote sustainable agriculture.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ensure healthy lives and well-being for all ages.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Provide inclusive and equitable quality education and lifelong learning opportunities. <strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Achieve gender equality and empower women and girls.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ensure access to sustainable & clean water and <span class=\"customMeta\" data-dictid=\"18aafee1a71692777198cdc688e8aa\">sanitation</span> for all.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>7.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ensure access to affordable, clean and modern energy for all.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>8.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Promote sustainable economic growth, full employment, and decent work.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>9.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Build <span class=\"customMeta\" data-dictid=\"691088249a1692777197943b52a313\">resilient</span> infrastructure, promote sustainable industrialization, and foster innovation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reduce inequality within and among countries.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>11.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Make cities and human settlements inclusive, safe, resilient, and sustainable</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>12.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ensure sustainable consumption and production patterns. <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>13.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Take urgent action to combat climate change and its impacts.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>14.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Conserve and sustainably use water bodies - oceans, seas, and marine resources.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>15.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Protect, restore, and sustainably use terrestrial ecosystems and preserve biodiversity.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>16.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Promote peaceful and inclusive societies, ensure access to justice, and build effective institutions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>17.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Strengthen global partnerships for sustainable development.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/KBAbfhGFwGge02dlr24Y1738668074.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 16 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Under which health organization are the Sustainable Development Goals (SDGs) implemented?", "options": [{"label": "A", "text": "United nations development programme", "correct": true}, {"label": "B", "text": "United nations children's fund", "correct": false}, {"label": "C", "text": "United nations educational, scientific and cultural organisation", "correct": false}, {"label": "D", "text": "World health organization", "correct": false}], "correct_answer": "A. United nations development programme", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hbbUaSwGC9egh2UkOS2S1745906438.png"], "explanation": "<p>Correct Answer A - United nations development programme</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\">1.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>End poverty everywhere in all its forms.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Zero hunger-<strong> </strong>Achieve food security, improve nutrition, and promote sustainable agriculture.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">3.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure healthy lives and well-being for all ages.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">4.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Provide inclusive and equitable quality education and lifelong learning opportunities.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">5.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Achieve gender equality and empower women and girls.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">6.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure access to sustainable & clean water and <span class=\"customMeta\" data-dictid=\"18aafee1a71692777198cdc688e8aa\">sanitation</span> for all.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">7.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure access to affordable, clean and modern energy for all.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">8.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Promote sustainable economic growth, full employment, and decent work.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">9.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Build <span class=\"customMeta\" data-dictid=\"691088249a1692777197943b52a313\">resilient</span> infrastructure, promote sustainable industrialization, and foster innovation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">10.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reduce inequality within and among countries.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">11.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Make cities and human settlements inclusive, safe, resilient, and sustainable</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">12.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure sustainable consumption and production patterns.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">13.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Take urgent action to combat climate change and its impacts.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">14.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Conserve and sustainably use water bodies - oceans, seas, and marine resources.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">15.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Protect, restore, and sustainably use terrestrial ecosystems and preserve biodiversity.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">16.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Promote peaceful and inclusive societies, ensure access to justice, and build effective institutions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">17.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Strengthen global partnerships for sustainable development.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the maximum population size observed in relation to reproductive programs?", "options": [{"label": "A", "text": "World bank", "correct": false}, {"label": "B", "text": "UNFPA", "correct": true}, {"label": "C", "text": "UNESCO", "correct": false}, {"label": "D", "text": "UNICEF", "correct": false}], "correct_answer": "B. UNFPA", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/K8zA0cWJypmOXfqoqj3f1745912571.png"], "explanation": "<p>Correct Answer B - UNFPA\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements is not true according to the sustainable development goals?", "options": [{"label": "A", "text": "End the epidemics of AIDS, tuberculosis, malaria and combat hepatitis", "correct": false}, {"label": "B", "text": "Reduce the global maternal mortality ratio to less than 70 (per 100,000 liver births)", "correct": false}, {"label": "C", "text": "Reduce the neonatal mortality rate to as low as 25 (per 1,000 liver births)", "correct": true}, {"label": "D", "text": "Reduce under-5 mortality to as low as 25 (peer 1,000 liver births)", "correct": false}], "correct_answer": "C. Reduce the neonatal mortality rate to as low as 25 (per 1,000 liver births)", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/YzxgrFXIuxSE3FPrmqfD1746692837.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\">1.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>End poverty</strong> everywhere in all its forms.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">2.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Zero hunger</strong>-<strong> </strong>Achieve food security, improve nutrition, and promote sustainable agriculture.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">3.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Ensure healthy lives</strong> and well-being for all ages.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">4.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Provide inclusive and equitable <strong>quality education</strong> and lifelong learning opportunities.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">5.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Achieve <strong>gender equality</strong> and empower women and girls.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">6.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure access to <strong>sustainable & clean water and sanitation</strong> for all.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">7.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure access to <strong>affordable, clean and modern energy</strong> for all.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">8.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Promote sustainable <strong>economic growth</strong>, full employment, <strong>and decent work.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">9.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Build <span class=\"customMeta\" data-dictid=\"691088249a1692777197943b52a313\">resilient</span> infrastructure, promote <strong>sustainable industrialization, and foster innovation</strong>.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">10.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Reduce inequality</strong> within and among countries.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">11.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Make cities and <strong>human settlements inclusive, safe, resilient, and sustainable</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">12.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Ensure <strong>sustainable consumption and production</strong> patterns.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">13.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Take urgent action to <strong>combat climate change</strong> and its impacts.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">14.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Conserve and<strong> sustainably use water bodies -</strong> oceans, seas, and marine resources.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">15.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Protect, restore, and<strong> sustainably use terrestrial ecosystems</strong> and preserve biodiversity.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">16.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Promote peaceful and inclusive societies,<strong> ensure access to justice, and build effective institutions.</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">17.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Strengthen global partnerships</strong> for sustainable development.</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"left\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Target 3.1: Reduce <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> mortality</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>By 2030, reduce the global <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> mortality ratio to less than 70 per 100,000 live births <strong>(Option B ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.2: End all preventable deaths under five years of age</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>By 2030, end preventable deaths of newborns and children under 5 years of age, with all countries aiming to reduce <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> mortality to at least as low as 12 per 1,000 live births <strong>(Option C) </strong>and under‑5 mortality to at least as low as 25 per 1,000 live births <strong>(Option D ruled out) </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.3: Fight <span class=\"customMeta\" data-dictid=\"6f6ef8bf7c1692777184dfdf8cf45d\">communicable</span> diseases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>By 2030, end the epidemics of AIDS, tuberculosis, <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> and neglected tropical diseases and combat hepatitis, <span class=\"customMeta\" data-dictid=\"4f48a2cf151692777202bd4779a491\">water-borne</span> diseases and other <span class=\"customMeta\" data-dictid=\"6f6ef8bf7c1692777184dfdf8cf45d\">communicable</span> diseases <strong>(Option A ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.4: Reduce mortality from non-communicable diseases and promote mental health</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>By 2030, reduce by one-third <span class=\"customMeta\" data-dictid=\"84f13673191692777196762b18e036\">premature</span> mortality from non-communicable diseases through prevention and treatment and promote mental health and well-being</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.5: Prevent and treat substance abuse</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Strengthen the prevention and treatment of substance abuse, including <span class=\"customMeta\" data-dictid=\"172b474c791692777193a54fab4553\">narcotic</span> <span class=\"customMeta\" data-dictid=\"3078e1e3071692777186da0df10649\">drug abuse</span> and harmful use of alcohol</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.6: Reduce road injuries and deaths</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>By 2020, halve (50% less) the number of global deaths and injuries from road traffic accidents</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.7: Universal access to sexual and <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> care, family planning and education</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>By 2030, ensure universal access to sexual and <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> health-care services, including for family planning, information and education, and the integration of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> health into national strategies and programs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.8: Achieve universal health coverage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Achieve universal health coverage, including financial risk protection, access to quality essential health-care services and access to safe, effective, quality and affordable essential medicines and vaccines for all</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target 3.9: Reduce illnesses and deaths from hazardous chemicals and pollution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>By 2030, substantially reduce the number of deaths and illnesses from hazardous chemicals and air, water and soil pollution and contamination</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Main focus of UNICEF is on", "options": [{"label": "A", "text": "Social health", "correct": false}, {"label": "B", "text": "Mental health", "correct": false}, {"label": "C", "text": "Nutritional health", "correct": false}, {"label": "D", "text": "Child health", "correct": true}], "correct_answer": "D. Child health", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D-Child health\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the origin of the Sustainable Development Goals?", "options": [{"label": "A", "text": "UNICEF", "correct": false}, {"label": "B", "text": "United Nations", "correct": true}, {"label": "C", "text": "WHO", "correct": false}, {"label": "D", "text": "Government of India", "correct": false}], "correct_answer": "B. United Nations", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/y4nYoe4TcCnSpRybJbRO1714477993.png"], "explanation": "<p>Correct Option B-United N\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Kyoto Protocol is for", "options": [{"label": "A", "text": "To improve water sanitization", "correct": false}, {"label": "B", "text": "To study food and nutrition", "correct": false}, {"label": "C", "text": "To reduce Green-house gas emissions", "correct": true}, {"label": "D", "text": "To do water chlorination", "correct": false}], "correct_answer": "C. To reduce Green-house gas emissions", "question_images": [], "explanation_images": [], "explanation": "<p>Correct option C-To reduce green-house g\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Topic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Kyoto Protocol</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>To combat climate change by reducing greenhouse gas emissions</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Scope</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Applies to industrialized countries (Annex I countries)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Greenhouse Gases Covered</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Carbon <span class=\"customMeta\" data-dictid=\"0bd01a042116927771868e3482910e\">dioxide</span> (CO2), <span class=\"customMeta\" data-dictid=\"a69836f1e916927771926366808510\">Methane</span> (CH4), <span class=\"customMeta\" data-dictid=\"b83d31a7d61692777193c128d13c7d\">Nitrous</span> <span class=\"customMeta\" data-dictid=\"e08c004e8f1692777194c9d37e17ad\">Oxide</span> (N2O), Hydrofluorocarbons (HFCs), Perfluorocarbons (PFCs), <span class=\"customMeta\" data-dictid=\"978b9c4c1a1692777199fc90ace6a5\">Sulfur</span> hexafluoride (SF6)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mechanisms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Clean Development Mechanism (CDM)</li>\n<li>Joint Implementation (JI)</li>\n<li>Emissions Trading (ET)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What immunization coverage percentage is required by the WHO for the eradication of measles?", "options": [{"label": "A", "text": "68%", "correct": false}, {"label": "B", "text": "72%", "correct": false}, {"label": "C", "text": "84%", "correct": false}, {"label": "D", "text": "96%", "correct": true}], "correct_answer": "D. 96%", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D- 96%\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 17 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Apart from the abdominal cavity, which body part is included in e-FAST?", "options": [{"label": "A", "text": "Pelvic Cavity", "correct": false}, {"label": "B", "text": "Peripheral vessels", "correct": false}, {"label": "C", "text": "Thoracic cavity", "correct": true}, {"label": "D", "text": "Dural and subdural spaces", "correct": false}], "correct_answer": "C. Thoracic cavity", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to GCS, a verbal score of 1 indicates:", "options": [{"label": "A", "text": "No Verbal response", "correct": true}, {"label": "B", "text": "Inappropriate words", "correct": false}, {"label": "C", "text": "Incomprehensible sounds", "correct": false}, {"label": "D", "text": "Oriented response", "correct": false}], "correct_answer": "A. No Verbal response", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:590px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Simplified Glasgow <span class=\"customMeta\" data-dictid=\"e39842f67b1692777184171cd1852a\">Coma</span> Scale (GCS) </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Response</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Score</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"4\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Eye Opening (E)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Spontaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>To speech</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>To pain</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>None</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"5\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Verbal Response (V)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oriented</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5 <strong>(Option D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Confused conversation</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inappropriate words</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3 <strong>(Option B ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Incomprehensible sounds</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2 <strong>(Option C ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>None</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"6\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Motor Response (M)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Obeys commands</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Localizes to pain</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Withdraws from pain</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Abnormal <span class=\"customMeta\" data-dictid=\"85ff8a7ff81692777202a827961a5c\">flexion</span> (decorticate)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Abnormal extension (decerebrate)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>No response</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Most common site of peripheral aneurysm?", "options": [{"label": "A", "text": "Brachial artery", "correct": false}, {"label": "B", "text": "Popliteal artery", "correct": true}, {"label": "C", "text": "Radial artery", "correct": false}, {"label": "D", "text": "Femoral artery", "correct": false}], "correct_answer": "B. Popliteal artery", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which one of the following is absent in cases of massive blood transfusion?", "options": [{"label": "A", "text": "DIC", "correct": false}, {"label": "B", "text": "Febrile transfusion reaction", "correct": false}, {"label": "C", "text": "Hypercalcemia", "correct": true}, {"label": "D", "text": "Thrombocytopenia", "correct": false}], "correct_answer": "C. Hypercalcemia", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:682px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Complications of massive blood transfusion</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Complication</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Cause</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Effect</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hypothermia</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Transfusion of cold blood (stored at 4°C).</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Body temperature drops, leading to impaired <span class=\"customMeta\" data-dictid=\"58c17961c71692777184ab55a9c4df\">clotting</span> mechanisms (coagulopathy), and worsening bleeding.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Coagulopathy</strong></p>\n<p> </p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Dilution of <span class=\"customMeta\" data-dictid=\"58c17961c71692777184ab55a9c4df\">clotting</span> factors and platelets due to transfusion; consumption of <span class=\"customMeta\" data-dictid=\"58c17961c71692777184ab55a9c4df\">clotting</span> factors by ongoing haemorrhage.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Impaired blood clotting, prolonged <span class=\"customMeta\" data-dictid=\"41e858bf2816927771836d46c619b9\">bleeding</span> time, thrombocytopenia, and increased risk of continued bleeding.</p>\n<p><strong>(Option D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>DIC</strong></p>\n<p><strong>(Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Due to the release of <span class=\"customMeta\" data-dictid=\"ff2094828c1692777196941a65e6eb\">procoagulant</span> substances</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Leads to haemorrhage due to depleted <span class=\"customMeta\" data-dictid=\"7414bd02f216927771889b3e159ef4\">hemostatic</span> components, tissue hypoxia, and <span class=\"customMeta\" data-dictid=\"77aed446d2169277719007f42bf052\">infarction</span> due to microthrombi, or both.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Citrate Toxicity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Large volumes of transfused blood contain citrate, which binds to calcium.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Hypocalcemia leads to muscle cramps, seizures, and <span class=\"customMeta\" data-dictid=\"e1fb96fd2416927771830dfed40e14\">cardiac</span> arrhythmias.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hypocalcemia</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Packed red blood cells (PRBCs) and other blood products are preserved with <strong>citrate</strong>, an anticoagulant.</li>\n<li>Citrate binds to <strong>ionised calcium</strong> (Ca²⁺) in the recipient's blood, reducing the free <span class=\"customMeta\" data-dictid=\"54de8b79a91692777183e608bc0dd4\">calcium</span> level - <strong>hypocalcemia</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Presents as muscle spasms, <span class=\"customMeta\" data-dictid=\"e1fb96fd2416927771830dfed40e14\">cardiac</span> arrhythmias, and decreased myocardial contractility</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hyperkalemia</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Potassium leaks from stored red blood cells into <span class=\"customMeta\" data-dictid=\"a0e40688fa169277719572bdb48c92\">plasma</span> during storage.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Elevated <span class=\"customMeta\" data-dictid=\"a995a613a016927771969d4395dc80\">potassium</span> levels (hyperkalemia) can cause <span class=\"customMeta\" data-dictid=\"e1fb96fd2416927771830dfed40e14\">cardiac</span> arrhythmias, potentially leading to <span class=\"customMeta\" data-dictid=\"e1fb96fd2416927771830dfed40e14\">cardiac</span> arrest.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hypokalemia</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Potassium may shift intracellularly once transfused red blood cells are metabolically revived.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Hypokalemia causes muscle weakness, paralysis, and <span class=\"customMeta\" data-dictid=\"e1fb96fd2416927771830dfed40e14\">cardiac</span> arrhythmias.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Metabolic Alkalosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rapid <span class=\"customMeta\" data-dictid=\"5b1a045f5f169277719210c0ac7a1e\">metabolism</span> of <span class=\"customMeta\" data-dictid=\"3569209ba41692777184f88db9316d\">citrate</span> into bicarbonate.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Increased pH (alkalosis) can lead to muscle twitching, irritability, and impaired oxygen release from haemoglobin.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Metabolic Acidosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inadequate tissue <span class=\"customMeta\" data-dictid=\"33dfead74b1692777195931780bd9e\">perfusion</span> leads to <span class=\"customMeta\" data-dictid=\"b82539c9ae1692777191a3f7ddd7bb\">lactic</span> acid accumulation.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lowered blood pH (acidosis) leads to confusion, fatigue, rapid breathing, and worsened <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> function.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Transfusion Related <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">Acute</span> Lung Injury (TRALI)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Antibodies in transfused blood <span class=\"customMeta\" data-dictid=\"dddc752e1716927771807f985bb8bb\">activate</span> the recipient's immune response, causing <span class=\"customMeta\" data-dictid=\"e747a47db616927771908bff4b8931\">inflammation</span> and fluid buildup in the lungs.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Non-cardiogenic <span class=\"customMeta\" data-dictid=\"10e2dee19e1692777196673db90c23\">pulmonary</span> oedema, presenting as <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> <span class=\"customMeta\" data-dictid=\"cfad80a0f716927771979aae100f95\">respiratory</span> <span class=\"customMeta\" data-dictid=\"afafb9026e1692777186e3dd168fa8\">distress</span> with <span class=\"customMeta\" data-dictid=\"a249eeb5551692777189661d39c1b2\">hypoxia</span> within 6 hours of transfusion.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Transfusion Associated Circulatory <span class=\"customMeta\" data-dictid=\"9d02a99d051692777194aa3375023b\">Overload</span> (TACO)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Volume of transfused blood exceeds the patient’s capacity to manage, leading to fluid overload.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Pulmonary oedema, shortness of breath, hypertension, and signs of heart failure.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Iron Overload</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Repeated transfusions lead to excessive accumulation of iron.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Iron deposits in organs (e.g., liver, heart, pancreas), lead to organ damage and failure over time.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hemolytic Reactions</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>ABO or Rh incompatibility.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rapid destruction of red blood cells (hemolysis), causes fever, chills, hemoglobinuria, and potentially <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> <span class=\"customMeta\" data-dictid=\"b9356afdba16927771979d068c6587\">renal</span> failure or shock.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Allergic Reactions</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reaction to proteins in transfused blood products.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Symptoms range from mild itching, rash, or <span class=\"customMeta\" data-dictid=\"14ccc7cf1c1692777189d4fb9d1fb5\">hives</span> to severe <span class=\"customMeta\" data-dictid=\"d6d717efa216927771819fee139235\">anaphylaxis</span> (airway constriction, low blood pressure, shock).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Bacterial Contamination</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Blood products are contaminated during collection or storage.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sepsis, characterized by fever, chills, low blood pressure, and possibly <span class=\"customMeta\" data-dictid=\"39f67d7dde16927771985d3952058d\">septic</span> shock.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Febrile <span class=\"customMeta\" data-dictid=\"cbb73554631692777200444a9ea263\">transfusion</span> reaction</strong></p>\n<p><strong>(Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>It is a non-hemolytic condition that is not completely understood but is believed to be caused by <span class=\"customMeta\" data-dictid=\"a459f313d9169277719789fdfb7ada\">residual</span> white blood cells in the blood unit or cytokines that accumulate during storage.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Fever, rigour, chills</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements about ranula is FALSE?", "options": [{"label": "A", "text": "Mucus extravasation cyst", "correct": false}, {"label": "B", "text": "Arises from submandibular salivary gland", "correct": true}, {"label": "C", "text": "Bluish, translucent cystic swelling on the floor of the mouth", "correct": false}, {"label": "D", "text": "Marsupialization or excision is the treatment", "correct": false}], "correct_answer": "B. Arises from submandibular salivary gland", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/akYmkU4Zg2U6E2ZO9wmY1747024988.png", "https://image.prepladder.com/content/GNogQfMmb7mub03r2GvM1747024988.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:622px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Ranula</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Definition</strong></p>\n<p><strong>(Options A & C ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Ranulas are a type of <strong>extravasation mucocele</strong>, caused by the <span class=\"customMeta\" data-dictid=\"e73553a3a5169277719787fd5f4680\">rupture</span> of the main <span class=\"customMeta\" data-dictid=\"6198b5f22b16927771867e4ef8108f\">duct</span> or obstructed <span class=\"customMeta\" data-dictid=\"4e0948603216927771801829c2c085\">acini</span> of the <strong>sublingual gland</strong>.</li>\n<li>They appear as <strong>bluish, translucent, <span class=\"customMeta\" data-dictid=\"38c41e122116927771859b63deb0ed\">cystic</span> <span class=\"customMeta\" data-dictid=\"e3d212ebd316927771996e0c472d4a\">swelling</span> on the floor of the mouth</strong> and resemble the belly of a frog.</li>\n</ul>\n<figure class=\"caption_element\"><img alt=\"\" data-author=\"Ph0t0happy\" data-hash=\"\" data-license=\"CC-BY-SA-3.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Ranula_human_09.jpg\" data-tags=\"\" height=\"513\" src=\"https://image.prepladder.com/content/akYmkU4Zg2U6E2ZO9wmY1747024988.png\" width=\"573\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Location</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Commonly found in the <span class=\"customMeta\" data-dictid=\"1ba6a9cfe11692777181950edd7a6d\">anterior</span> floor of the mouth.</li>\n<li>When it extends through the <span class=\"customMeta\" data-dictid=\"d0922475bc1692777193d420470423\">mylohyoid</span> muscle, it presents as a <span class=\"customMeta\" data-dictid=\"a94c9109b016927771997aa2985457\">submental</span> <span class=\"customMeta\" data-dictid=\"e3d212ebd316927771996e0c472d4a\">swelling</span> known as a<strong> \"plunging ranula.\"</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Symptoms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Typically soft, fluctuant, and painless unless infected.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Confirmed through Magnetic Resonance Imaging (MRI)</li>\n<li>Ultrasound</li>\n<li>Aspiration of thick, sticky <span class=\"customMeta\" data-dictid=\"6b0184a84d16927771981289924c2a\">saliva</span> differentiates it from a lymphangioma.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Treatment</strong></p>\n<p><strong>(Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Excision of the <span class=\"customMeta\" data-dictid=\"75089cc39e1692777199b8933bd249\">sublingual</span> <span class=\"customMeta\" data-dictid=\"4744bb90c21692777188c8957f9faa\">gland</span> is preferred. </strong></li>\n<li>Incision, drainage, and marsupialisation have low success rates. Although <strong>marsupialisation</strong> is often adequate, it has a higher <span class=\"customMeta\" data-dictid=\"1d849ebc9b1692777197d4af1fa8d2\">recurrence</span> rate compared to <span class=\"customMeta\" data-dictid=\"75089cc39e1692777199b8933bd249\">sublingual</span> <span class=\"customMeta\" data-dictid=\"4744bb90c21692777188c8957f9faa\">gland</span> excision.</li>\n<li>OK-432 injection</li>\n<li>Botulinum <span class=\"customMeta\" data-dictid=\"41329dc9381692777200a9b6d57cf4\">toxin</span> injections</li>\n</ul>\n<figure class=\"caption_element\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"534\" src=\"https://image.prepladder.com/content/GNogQfMmb7mub03r2GvM1747024988.png\" width=\"534\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the probable diagnosis for a patient who is taking steroids for psoriasis and is experiencing a low-grade fever only at night, weight loss, and an ulcer on her neck with undermined edges, as depicted in the provided image?", "options": [{"label": "A", "text": "Psoriasis flare-up", "correct": false}, {"label": "B", "text": "Tubercular lymphadenitis", "correct": true}, {"label": "C", "text": "Lymphosarcoma", "correct": false}, {"label": "D", "text": "Syphilis", "correct": false}], "correct_answer": "B. Tubercular lymphadenitis", "question_images": ["https://image.prepladder.com/notes/1TH1dju86skmeaqbBBxB1747998760.png"], "explanation_images": ["https://image.prepladder.com/content/fEc4u0perN8HZQL6yWkS1747025426.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:688px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Lymph <span class=\"customMeta\" data-dictid=\"b10ce4acbf169277719323ffd12306\">Node</span> TB (Tuberculous Lymphadenitis)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Most common</strong> <span class=\"customMeta\" data-dictid=\"728e7607f31692777187291e007a0b\">extrapulmonary</span> TB presentation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Risk Groups</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>HIV-positive individuals, Immunosuppressive individuals, children, and non-Caucasian women.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Causative Organism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Previously M. bovis; now mainly M. tuberculosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Clinical Presentation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Painless </strong>swelling in <span class=\"customMeta\" data-dictid=\"4df97a6cbf169277719172fd1af767\">lymph</span> nodes, usually <span class=\"customMeta\" data-dictid=\"a5c6cb079d16927771967e62ffee72\">posterior</span> <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> or <span class=\"customMeta\" data-dictid=\"53765334f31692777199cf434360de\">supraclavicular</span> (historically called scrofula).</li>\n<li><strong>Early disease: Discrete nodes</strong></li>\n<li>Advanced disease: Matted, nontender mass, possible <span class=\"customMeta\" data-dictid=\"10df63cea41692777203b470341d21\">fistula</span> draining <span class=\"customMeta\" data-dictid=\"99368d5fef1692777183ea405bed67\">caseous</span> material.</li>\n<li>Pulmonary disease in <50% of cases.</li>\n<li>Systemic symptoms are uncommon except in HIV-positive patients.</li>\n<li>Non-specific reaction → Matting → Cold <span class=\"customMeta\" data-dictid=\"5618681fbe16927771804370383aaa\">Abscess</span> → Collar stud <span class=\"customMeta\" data-dictid=\"5618681fbe16927771804370383aaa\">abscess</span> → Sinus formation</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li><strong>Fine-needle <span class=\"customMeta\" data-dictid=\"831d67ad8a1692777182763ca62e4b\">aspiration</span> <span class=\"customMeta\" data-dictid=\"754ab07a2e1692777183ed178c883d\">biopsy</span> (80% yield) or <span class=\"customMeta\" data-dictid=\"81d12f9cb01692777199e44ff3f3c1\">surgical</span> <span class=\"customMeta\" data-dictid=\"20b3ce06c5169277718756ee95c1e9\">excision</span> biopsy.</strong></li>\n<li>Granulomatous lesions may or may not contain AFBs.</li>\n<li>Cultures are positive in 70–80% of cases.</li>\n<li>HIV-positive patients: Poorly organised or absent granulomas; higher bacterial loads increase <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> yield.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Differential Diagnosis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Infectious diseases</li>\n<li>Lymphomas</li>\n<li>Metastatic carcinomas</li>\n<li>Rare disorders: Kikuchi’s disease, Kimura’s disease, Castleman’s disease.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 45-year-old woman comes to the OPD with a history of a lump in the left breast. On clinical examination, the size of the lump in the left breast is 9x10 cm with the following appearance and no axillary lymphadenopathy. The histopathology of the biopsy from the lump shows increased stromal cellularity and typical leaflike architecture. What is your likely diagnosis?", "options": [{"label": "A", "text": "Phyllodes tumour", "correct": true}, {"label": "B", "text": "Giant fibroadenoma", "correct": false}, {"label": "C", "text": "Inflammatory carcinoma", "correct": false}, {"label": "D", "text": "Ductal carcinoma", "correct": false}], "correct_answer": "A. Phyllodes tumour", "question_images": ["https://image.prepladder.com/content/d79JUMsTq9YVRORpAoQE1747116110.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the diagnosis from the given abdominal x-ray?", "options": [{"label": "A", "text": "Ureterocoele", "correct": false}, {"label": "B", "text": "Pelvic bone fracture", "correct": false}, {"label": "C", "text": "Rectal foreign body", "correct": true}, {"label": "D", "text": "Bladder stone", "correct": false}], "correct_answer": "C. Rectal foreign body", "question_images": ["https://image.prepladder.com/content/MyC6v9qsXI7vAK7gc0TR1748163282.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 18 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "The logo below represents which of the following health programs?", "options": [{"label": "A", "text": "Anemia Mukt Bharat", "correct": false}, {"label": "B", "text": "National program for control of blindness and visual impairment", "correct": false}, {"label": "C", "text": "National health mission", "correct": false}, {"label": "D", "text": "NLEP", "correct": true}], "correct_answer": "D. NLEP", "question_images": ["https://image.prepladder.com/content/NQY9gSwtH8kewrVigwRU1725458449.png"], "explanation_images": ["https://image.prepladder.com/content/fkD4Y5bW8od4XnBcNmQG1725458467.png", "https://image.prepladder.com/content/V5FwsopSdex1ENYJNyyF1725458482.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TTiU1xNPcCYgoMUO6nqC1746565629.mp3", "video": ""}, {"text": "In the National Leprosy Eradication Programme (NLEP), which level of prevention involves early diagnosis and prompt treatment of leprosy cases to prevent disabilities and deformities?", "options": [{"label": "A", "text": "Primary prevention", "correct": false}, {"label": "B", "text": "Secondary prevention", "correct": true}, {"label": "C", "text": "Tertiary prevention", "correct": false}, {"label": "D", "text": "Quaternary prevention", "correct": false}], "correct_answer": "B. Secondary prevention", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/lBgKB1T0ZZc2vjxrhLtm1725458599.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:548px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primary Level of Prevention</strong></p>\n<ul>\n<li>Health Education</li>\n<li>SPARSH program uses a cartoon girl known as Sapna who is in a village <span class=\"customMeta\" data-dictid=\"ad56eb6e551692777199ae4ce59798\">spreading</span> awareness on Leprosy.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Secondary Level of Prevention</strong></p>\n<ul>\n<li>Early diagnosis and treatment</li>\n<li>Detection is done by ASHA</li>\n<li>ASHA gets cash incentives</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tertiary Prevention</strong></p>\n<ul>\n<li>Treatment of <span class=\"customMeta\" data-dictid=\"d4c88fcae71692777186aa1c32423a\">drug-resistant</span> leprosy</li>\n<li>Disability limitation and rehabilitation</li>\n<li>Reconstructive surgeries for deformities</li>\n<li>Crutches to walk</li>\n<li>Microcellular rubber footwear</li>\n<li>Self-care kits</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:324px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dose of <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">rifampicin</span> as <span class=\"customMeta\" data-dictid=\"bc36e9b9381692777196b5f9a2f79c\">prophylaxis</span> (single dose):</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>≥ 15 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>600 mg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10-14 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>450 mg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6-9 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>300 mg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Children <20 kg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10-15 mg/kg</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/e0u2FRmYj9D1JUooR8oB1743157452.mp3", "video": ""}, {"text": "Which of the following is a primary indicator of leprosy cases?", "options": [{"label": "A", "text": "Proportion of new cases correctly diagnosed", "correct": false}, {"label": "B", "text": "Treatment completion rate", "correct": true}, {"label": "C", "text": "Number of relapses during a year", "correct": false}, {"label": "D", "text": "Proportion of MB cases among new cases", "correct": false}], "correct_answer": "B. Treatment completion rate", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:527px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primary Indicators (Core indicator)</strong></p>\n<ul>\n<li><strong>Annual new case <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> rate: Most important Epidemiological indicator.</strong></li>\n<li>Treatment completion rate (cohort analysis).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Indicators for Case Detection</strong></p>\n<ul>\n<li>Proportion of new cases with <span class=\"customMeta\" data-dictid=\"d4ae50897e16927771884b5c46ba7d\">Grade</span> II disability</li>\n<li>Proportion of female cases among new cases</li>\n<li>Proportion of cases <15 years (child) among new cases.</li>\n<li>Proportion of MB cases among new cases. <strong>(Option D)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Indicators for Quality of Services</strong></p>\n<ul>\n<li>Proportion of defaulters</li>\n<li>Proportion of new cases correctly diagnosed<strong> (Option A)</strong></li>\n<li>Number of relapses during a year <strong>(Option C)</strong></li>\n<li>Proportion of cases with new disabilities</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Yv4ryHrx5Er8hbN9FvjG1743158152.mp3", "video": ""}, {"text": "Which of the following defines Grade 2 disability in leprosy according to the WHO Disability Grading System?", "options": [{"label": "A", "text": "Grade 2 disability involves no impairment of hand or foot function.", "correct": false}, {"label": "B", "text": "Grade 2 disability includes severe visible deformities and impairment of hand or foot function.", "correct": true}, {"label": "C", "text": "Grade 2 disability refers to mild visible deformities without any functional impairment.", "correct": false}, {"label": "D", "text": "Grade 2 disability indicates moderately visible deformities with slight impairment of hand or foot function.", "correct": false}], "correct_answer": "B. Grade 2 disability includes severe visible deformities and impairment of hand or foot function.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:543px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Grades of disability in Leprosy</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Grade 0</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Absence of disability (no anesthesia) and no visible damage or deformities on eyes, hands and feet.</p>\n<p>Muscle power is normal.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Grade 1</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Loss of the protective ability of the eyes, hands or feet, but no visible damage or deformities.</p>\n<p>Muscle power is normal.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Grade 2</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Presence of deformities or visible damage to the eyes, hands, or feet.</p>\n<p>Muscle power is weak or paralyzed, a lid gap is present in the eyes.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8GebBpKyxRp84Nx1Lxde1743157959.mp3", "video": ""}, {"text": "What is the primary goal of the initiative \"Leprosy Mukt Bharat\"?", "options": [{"label": "A", "text": "To eradicate leprosy from India completely by 2027.", "correct": true}, {"label": "B", "text": "To reduce the prevalence of leprosy cases in India by 50% by 2025.", "correct": false}, {"label": "C", "text": "To provide free treatment and rehabilitation services to all leprosy patients in India until 2030", "correct": false}, {"label": "D", "text": "To raise awareness about leprosy and reduce the stigma associated with the disease in India before 2025.", "correct": false}], "correct_answer": "A. To eradicate leprosy from India completely by 2027.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:745px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Features:</strong></p>\n<ul>\n<li>Early <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> (based on 2-level prevention).</li>\n<li>Free-of-cost treatment to prevent the development of disabilities and deformities.</li>\n<li>Medical rehabilitation of those with existing deformities.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>New additions:</strong></p>\n<ul>\n<li><strong>Welfare <span class=\"customMeta\" data-dictid=\"f8330e788f16927771812e4f73b80c\">allowance</span> - Raised from Rs.8000 to Rs.12000 for patients undergoing reconstructive surgeries.</strong></li>\n<li>Enhance awareness regarding the <span class=\"customMeta\" data-dictid=\"455ce1044b1692777199ef0d3f58ec\">stigma</span> surrounding Leprosy.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rrWtuONAr4QYQYjwVAnX1743158367.mp3", "video": ""}, {"text": "Match the type of visual impairment with the corresponding visual acuity criteria based on the NPCB classification: Type of Visual Impairment Visual Acuity Criteria 1. Low Vision A. Visual acuity of less than 3/60 to 1/60 2. Economic Blindness B. No perception of light 3. Social Blindness C. Visual acuity of less than 6/18 to 6/60 4. Manifest Blindness D. Visual acuity of less than 6/60 to 3/60 5. Absolute Blindness E. Visual acuity of less than 1/60 to the perception of light", "options": [{"label": "A", "text": "1-C, 2-D, 3-A, 4-E, 5-B", "correct": true}, {"label": "B", "text": "1-D, 2-C, 3-E, 4-F, 5-B", "correct": false}, {"label": "C", "text": "1-C, 2-F, 3-D, 4-E, 5-B", "correct": false}, {"label": "D", "text": "1-F, 2-D, 3-A, 4-B, 5-C", "correct": false}], "correct_answer": "A. 1-C, 2-D, 3-A, 4-E, 5-B", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:590px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>NPCB <span class=\"customMeta\" data-dictid=\"dda6ab11271692777184264b752d39\">Classification</span> of Visual Impairment</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>The National Programme for Control of <span class=\"customMeta\" data-dictid=\"cf284485b71692777183c57876bed2\">Blindness</span> (NPCB) in India defines <span class=\"customMeta\" data-dictid=\"cf284485b71692777183c57876bed2\">blindness</span> as \"visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of <3/60 in a better eye with best possible correction\" and central <span class=\"customMeta\" data-dictid=\"d01e44abab16927772010db8725801\">visual field</span> <10 degrees. The NPCB further categorizes visual <span class=\"customMeta\" data-dictid=\"4885d5d0021692777189aac6dc80f7\">impairment</span> as:</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Classification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Visual Acuity</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Visual Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of less than 6/18 in the better eye with available correction</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Low Vision</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of less than 6/18 to 6/60</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Economic Blindness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of less than 6/60 to 3/60</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Social Blindness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of less than 3/60 to 1/60</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Manifest Blindness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of less than 1/60 to the perception of light</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Absolute Blindness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>No perception of light</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:588px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>WHO <span class=\"customMeta\" data-dictid=\"dda6ab11271692777184264b752d39\">Classification</span> of Visual Impairment</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>The <span class=\"customMeta\" data-dictid=\"755191f69b1692777202502ef70aaf\">World Health Organization</span> (WHO) defines <span class=\"customMeta\" data-dictid=\"cf284485b71692777183c57876bed2\">blindness</span> as \"visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of less than 3/60 (Snellen) or its equivalent\".</p>\n<p>The International <span class=\"customMeta\" data-dictid=\"dda6ab11271692777184264b752d39\">Classification</span> of Disease 11 (2018) classifies vision <span class=\"customMeta\" data-dictid=\"4885d5d0021692777189aac6dc80f7\">impairment</span> into distance and near-presenting vision impairment</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Classification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Visual Acuity</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Mild Distance Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 6/12</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Moderate Distance Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 6/18</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Severe Distance Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 6/60</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Blindness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 3/60</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Near Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Presenting near vision <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than N6 or M0.8 at 40 cm with existing correction</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/nOfEXEndtVxcMjpA3d3S1747424553.mp3", "video": ""}, {"text": "A 45-year-old woman presents to the ophthalmology clinic with a history of progressively worsening vision over the past few years. On examination, she is found to have significant scarring of the inner eyelids, leading to an inward turning of the eyelashes that scrapes against the cornea. What is the most likely cause of her preventable blindness?", "options": [{"label": "A", "text": "Cataract", "correct": false}, {"label": "B", "text": "Glaucoma", "correct": false}, {"label": "C", "text": "Trachoma", "correct": true}, {"label": "D", "text": "Vitamin A deficiency", "correct": false}], "correct_answer": "C. Trachoma", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dcX6mPJz4oxXTUCjvqLp1747424733.mp3", "video": ""}, {"text": "Match the following Tier against the corresponding number of units in accordance with the proposed four-tier structure under Vision 2020. Tier Number of Units A. Apex 1. 20,000 B. Centres of Excellence 2. 200 C. Training Centres 3. 2 D. Service Centres 4. 2000 E. Vision Centres 5. 20", "options": [{"label": "A", "text": "A-3, B-5, C-2, D-4, E-1", "correct": true}, {"label": "B", "text": "A-1, B-3, C-4, D-5, E-2", "correct": false}, {"label": "C", "text": "A-4, B-2, C-5, D-3, E-1", "correct": false}, {"label": "D", "text": "A-4, B-2, C-5, D-1, E-3", "correct": false}], "correct_answer": "A. A-3, B-5, C-2, D-4, E-1", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/FQo6WCrvRIOladxHwxA21734264912.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:630px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Tier</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Number of Units</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Population Norms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Components</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Centres of Excellence</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>20</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1/50 million</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Professional Leadership</li>\n<li>Strategy development</li>\n<li>Continued Medical Education (CME)</li>\n<li>Laying of standards and quality assurance</li>\n<li>Research</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Training Centres </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>200</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1/5 million</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Tertiary eye care including <span class=\"customMeta\" data-dictid=\"fb7a2c30e416927771972f7df6f8c0\">retinal</span> surgery, corneal transplantation, <span class=\"customMeta\" data-dictid=\"61e49875801692777188ad5edea804\">glaucoma</span> surgery, etc.</li>\n<li>Training and CME</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Service Centres</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>2000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1/500000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Cataract Surgery</li>\n<li>Other common eye surgeries</li>\n<li>Facilities for refraction</li>\n<li>Referral services</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Vision Centres </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>20,000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1/50000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Refraction and prescription of glasses</li>\n<li>Primary eye care</li>\n<li>School eye screening programme</li>\n<li>Screening and referral services</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/cvXTgq5AHZfu2dYcllAl1747424850.mp3", "video": ""}, {"text": "Which is true regarding the health programme in the logo below?", "options": [{"label": "A", "text": "It provides health insurance coverage only for rural populations.", "correct": false}, {"label": "B", "text": "Benefits under PM-JAY are restricted to government hospitals.", "correct": false}, {"label": "C", "text": "PM-JAY covers up to Rs. 5,00,000 per family per year for hospitalisation.", "correct": true}, {"label": "D", "text": "The scheme primarily focuses on providing primary healthcare services.", "correct": false}], "correct_answer": "C. PM-JAY covers up to Rs. 5,00,000 per family per year for hospitalisation.", "question_images": ["https://image.prepladder.com/content/3ic6HxdNuqEalg7vH6FX1725458675.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xvOtKwIqcMAh0WQ2eaRo1747424977.mp3", "video": ""}, {"text": "A senior physician working at a government medical college in a rural area has observed a significant lack of advanced medical facilities and infrastructure in her institution. As a result, many patients are referred to urban centres for specialised care. Which government program addresses these disparities?", "options": [{"label": "A", "text": "Pradhan Mantri Swasthya Suraksha Yojana", "correct": true}, {"label": "B", "text": "Pradhan Mantri Jan Dhan Yojana", "correct": false}, {"label": "C", "text": "Pradhan Mantri Swasthya Suraksha Nidhi", "correct": false}, {"label": "D", "text": "Jan Aushadhi scheme", "correct": false}], "correct_answer": "A. Pradhan Mantri Swasthya Suraksha Yojana", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/C9iEJaSL8puvbFqYF5Gl1734260407.png", "https://image.prepladder.com/content/3JHZT76eYm1y5TlOx56g1734266210.png", "https://image.prepladder.com/content/nOe7JB9TnCqX5SUBalBZ1734265210.png", "https://image.prepladder.com/content/ttGhTOgw59SthFPwWAIR1734265090.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CpLPebQxRQY98ZVdGk3G1746565698.mp3", "video": ""}, {"text": "What level of prevention strategy does the concept of SAPNA come under in the prevention of leprosy?", "options": [{"label": "A", "text": "Primary level of prevention", "correct": true}, {"label": "B", "text": "Secondary level of prevention", "correct": false}, {"label": "C", "text": "Tertiary level of prevention", "correct": false}, {"label": "D", "text": "Quaternary level of prevention", "correct": false}], "correct_answer": "A. Primary level of prevention", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/I6MhXS9B5Sg4cKT8gE6q1725458789.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:548px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primary Level of Prevention</strong></p>\n<ul>\n<li>Health Education</li>\n<li>SPARSH program uses a cartoon girl known as Sapna who is in a village <span class=\"customMeta\" data-dictid=\"ad56eb6e551692777199ae4ce59798\">spreading</span> awareness on Leprosy.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Secondary Level of Prevention (</strong><strong>Option B)</strong></p>\n<ul>\n<li>Early diagnosis and treatment</li>\n<li>Detection is done by ASHA</li>\n<li>ASHA gets cash incentives</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tertiary Prevention (</strong><strong>Option C)</strong></p>\n<ul>\n<li>Treatment of <span class=\"customMeta\" data-dictid=\"d4c88fcae71692777186aa1c32423a\">drug-resistant</span> leprosy</li>\n<li>Disability limitation and rehabilitation</li>\n<li>Reconstructive surgeries for deformities</li>\n<li>Crutches to walk</li>\n<li>Microcellular rubber footwear</li>\n<li>Self-care kits</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/r60RZqyMW1npFdJ05aaN1747424194.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 21 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which statement best describes the necessity of switching from trivalent oral polio vaccine (tOPV) to bivalent oral polio vaccine (bOPV) as part of the Polio Eradication and Endgame Strategic Plan?", "options": [{"label": "A", "text": "tOPV was associated with a high incidence of wild poliovirus type 2 (WPV2).", "correct": false}, {"label": "B", "text": "bOPV was more cost-effective than tOPV for routine immunisation systems.", "correct": false}, {"label": "C", "text": "The risk of cVDPV-circulatory vaccine derived polio virus linked to the type 2 component of OPV outweighed its benefits.", "correct": true}, {"label": "D", "text": "bOPV was more effective in providing immunity against all three poliovirus types than tOPV.", "correct": false}], "correct_answer": "C. The risk of cVDPV-circulatory vaccine derived polio virus linked to the type 2 component of OPV outweighed its benefits.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/v5RkXNZt1eaIuIM3jmL91743107195.mp3", "video": ""}, {"text": "Which of the following is NOT an objective of The Polio Eradication Strategy 2022-2026?", "options": [{"label": "A", "text": "Permanent interruption of polio transmission in Pakistan and Afghanistan", "correct": false}, {"label": "B", "text": "Preventing outbreaks in non-endemic countries", "correct": false}, {"label": "C", "text": "Stop circulation of vaccine-derived poliovirus", "correct": false}, {"label": "D", "text": "Rehabilitation of the ones affected", "correct": true}], "correct_answer": "D. Rehabilitation of the ones affected", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/lnzDMk3PwvCr7sFFqZIK1743107420.mp3", "video": ""}, {"text": "A 10-year-old boy presented with sudden onset paralysis of the right leg for 2 weeks with loss of tone and deep tendon reflexes; the leg appeared floppy with no sensory loss. Which of the following is NOT a diagnosis?", "options": [{"label": "A", "text": "Guillian-Barre Syndrome", "correct": false}, {"label": "B", "text": "Transverse myelitis", "correct": false}, {"label": "C", "text": "Poliomyelitis", "correct": false}, {"label": "D", "text": "Duchenne Muscular Dystrophy", "correct": true}], "correct_answer": "D. Duchenne Muscular Dystrophy", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/ZGq5NkhXBKBpAT6Rc9hE1732703057.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/QwvM6dq7MaanORjvxnhp1743107637.mp3", "video": ""}, {"text": "The stool specimen for investigation of an acute flaccid paralysis case is transported using which method?", "options": [{"label": "A", "text": "Ambient temperature chain", "correct": false}, {"label": "B", "text": "Reverse cold chain", "correct": true}, {"label": "C", "text": "Traditional cold chain", "correct": false}, {"label": "D", "text": "Real-time temperature monitoring", "correct": false}], "correct_answer": "B. Reverse cold chain", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gyu7TiL1484PP4Bc56S11743107048.mp3", "video": ""}, {"text": "Which of the following statements regarding polio surveillance indicators is correct? At least 80% of expected routine AFP surveillance reports should be received on time, including zero reports where no AFP cases are seen. The sensitivity of surveillance requires detecting at least two cases of non-polio AFP annually per 100,000 population aged less than 15 years in endemic regions. Completeness of case investigation mandates that all AFP cases must have three stool specimens collected within 7 days of paralysis onset. Laboratory performance standards dictate that AFP case specimens must be processed in any accredited clinical laboratory within the country.", "options": [{"label": "A", "text": "All are wrong", "correct": false}, {"label": "B", "text": "All are correct", "correct": false}, {"label": "C", "text": "1 and 2 are correct", "correct": true}, {"label": "D", "text": "1 and 4 are correct", "correct": false}], "correct_answer": "C. 1 and 2 are correct", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Indicator</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Completeness of reporting</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>At least 80% of expected routine <span class=\"customMeta\" data-dictid=\"433e48b0c616927771801040d9bde9\">AFP</span> surveillance reports are to be received on time, including <span class=\"customMeta\" data-dictid=\"116e588c7b1692777202c7f3040428\">zero</span> reports(no <span class=\"customMeta\" data-dictid=\"433e48b0c616927771801040d9bde9\">AFP</span> cases seen).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Sensitivity of surveillance</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Detect at least one case of non-polio <span class=\"customMeta\" data-dictid=\"433e48b0c616927771801040d9bde9\">AFP</span> annually per 100,000 population aged <15 years (two per 100,000 in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> regions).(operational efficiency-non <span class=\"customMeta\" data-dictid=\"7b1b23cdec1692777196fb5ec9f3f5\">polio</span> <span class=\"customMeta\" data-dictid=\"433e48b0c616927771801040d9bde9\">AFP</span> rate)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Completeness of case investigation</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>All <span class=\"customMeta\" data-dictid=\"433e48b0c616927771801040d9bde9\">AFP</span> cases undergo full clinical and virological investigation with at least 80% of cases having adequate <span class=\"customMeta\" data-dictid=\"44335bb8bf1692777199a956cb31bf\">stool</span> specimens collected and transported properly.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Completeness of follow-up</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>At least 80% of <span class=\"customMeta\" data-dictid=\"433e48b0c616927771801040d9bde9\">AFP</span> cases receive a follow-up examination for <span class=\"customMeta\" data-dictid=\"a459f313d9169277719789fdfb7ada\">residual</span> <span class=\"customMeta\" data-dictid=\"72fa9105b916927771945aef35e8ed\">paralysis</span> at 60 days post-onset.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>Laboratory performance</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:bottom\">\n<p>AFP case specimens are processed in WHO-accredited laboratories within the Global <span class=\"customMeta\" data-dictid=\"7b1b23cdec1692777196fb5ec9f3f5\">Polio</span> Laboratory Network (GPLN).</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5SR2rpXzLZCSeuoHvvHw1743107804.mp3", "video": ""}, {"text": "What best describes the \"mopping up\" strategy in polio eradication efforts?", "options": [{"label": "A", "text": "It involves routine immunization activities in all districts to maintain high population immunity.", "correct": false}, {"label": "B", "text": "It focuses on mass vaccination campaigns conducted in areas where wild poliovirus is known or suspected to be circulating.", "correct": true}, {"label": "C", "text": "It refers to surveillance activities aimed at detecting cases of acute flaccid paralysis (AFP) for prompt response.", "correct": false}, {"label": "D", "text": "It involves educational campaigns to raise awareness about the importance of polio vaccination among healthcare workers.", "correct": false}], "correct_answer": "B. It focuses on mass vaccination campaigns conducted in areas where wild poliovirus is known or suspected to be circulating.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4RSYo6gassjP7yPzcCdD1747423859.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 16 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is NOT a part of the target adopted by UNAIDS to end the AIDS epidemic?", "options": [{"label": "A", "text": "95% of people living with HIV know their status.", "correct": false}, {"label": "B", "text": "95% of people living with HIV receive antiretroviral therapy (ART).", "correct": false}, {"label": "C", "text": "95% of people receiving ART show decreased viral load.", "correct": false}, {"label": "D", "text": "95% of people living with HIV have access to experimental treatments", "correct": true}], "correct_answer": "D. 95% of people living with HIV have access to experimental treatments", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/zP4T9cz2OWGyqvS8fNwn1725454213.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:779px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Target & Goal for 2025 by UNAIDS</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>HIV Services</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>95-95-95 Testing and Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>95% know <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> status</li>\n<li>95% on <span class=\"customMeta\" data-dictid=\"4019cd26841692777181fa4c0c5a6a\">antiretroviral</span> therapy</li>\n<li>95% achieve <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> suppression</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">Reproductive</span> Age</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>95% have <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> and sexual/reproductive health needs met,</li>\n<li>95% of pregnant/breastfeeding women achieve <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> suppression,</li>\n<li>95% of children tested</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>People at Risk of HIV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>95% use suitable, prioritized, effective prevention options</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td rowspan=\"9\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Integration</strong></p>\n</td>\n<td colspan=\"2\" rowspan=\"9\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>General Integration: Ensure 90% of individuals are <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> to services for communicable/non-communicable diseases, violence, and mental health.</li>\n<li>TB and <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> Services</li>\n<li>Maternal and <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">Newborn</span> Care</li>\n<li>HPV Vaccination: Ensure 90% of school-aged girls in priority countries receive <span class=\"customMeta\" data-dictid=\"6bca6e988d1692777189167b791930\">HPV</span> <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> and <span class=\"customMeta\" data-dictid=\"26cdc047771692777198466c58cdc6\">schistosomiasis</span> screening/treatment.</li>\n<li>Sexual and <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">Reproductive</span> Health Services</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\"> \n\t\t\t<p><strong>Social Enablers</strong></p>\n</td>\n<td colspan=\"2\" rowspan=\"6\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>The 10-10-10 targets aim to eliminate social and legal barriers that hinder access to and <span class=\"customMeta\" data-dictid=\"6aee31718c16927772019237286270\">utilization</span> of <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> services.\n\t\t\t\t<ol>\n<li>Fewer than 10% of countries maintain punitive laws and policies restricting access to services.</li>\n<li>Fewer than 10% of people living with <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> and key populations face <span class=\"customMeta\" data-dictid=\"455ce1044b1692777199ef0d3f58ec\">stigma</span> and discrimination.</li>\n<li>Fewer than 10% of women, girls, people living with HIV, and key populations experience gender inequality and violence.</li>\n</ol>\n</li>\n<li>Achieve relevant SDG targets by 2030</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MclrWlNqNbKzh8DqlWcn1743154094.mp3", "video": ""}, {"text": "According to the Sustainable Development Goals (SDGs), the aim is to end the HIV/AIDS epidemic by what year?", "options": [{"label": "A", "text": "2024", "correct": false}, {"label": "B", "text": "2025", "correct": false}, {"label": "C", "text": "2040", "correct": false}, {"label": "D", "text": "2030", "correct": true}], "correct_answer": "D. 2030", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gNBx2VJQmKH0ksmq4rqK1743154595.mp3", "video": ""}, {"text": "By 2024, what percentage reduction in new HIV infections does the National Strategic Plan for HIV/AIDS in India aim to achieve, using a 2010 baseline?", "options": [{"label": "A", "text": "75%", "correct": false}, {"label": "B", "text": "90%", "correct": false}, {"label": "C", "text": "80%", "correct": true}, {"label": "D", "text": "95%", "correct": false}], "correct_answer": "C. 80%", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:744px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Target</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Timeline</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective 1:</strong> Reduce new <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> infections</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>80% reduction (using a 2010 baseline)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>By 2024</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective 2:</strong> Ensure people living with <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> (PLHIV) know their status</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>95% of estimated PLHIV know their <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> status</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>By 2024</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective 3: </strong>Ensure PLHIV have ART <span class=\"customMeta\" data-dictid=\"a4f93a26c11692777190f1659fa7c9\">initiation</span> and retention</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>95% of PLHIV have initiated and are retained on <span class=\"customMeta\" data-dictid=\"4019cd26841692777181fa4c0c5a6a\">antiretroviral</span> therapy (ART)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>By 2024</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective 4:</strong> Eliminate mother-to-child transmission</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Eliminate mother-to-child transmission of <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> and syphilis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>By 2020</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective 5: </strong>Eliminate HIV/AIDS-related <span class=\"customMeta\" data-dictid=\"455ce1044b1692777199ef0d3f58ec\">stigma</span> and discrimination</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Eliminate <span class=\"customMeta\" data-dictid=\"455ce1044b1692777199ef0d3f58ec\">stigma</span> and discrimination related to HIV/AIDS</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>By 2020</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective 6: </strong>Facilitate sustainable NACP service delivery</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ensure the National AIDS Control Programme (NACP) service delivery is sustainable</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>By 2024</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dzvp6YUGDumYKVoyVxkA1746565327.mp3", "video": ""}, {"text": "Which of the following types of surveillance is NOT used in India's National AIDS Control Programme to track and understand the HIV/AIDS epidemic?", "options": [{"label": "A", "text": "Environmental Surveillance", "correct": true}, {"label": "B", "text": "Sentinel Surveillance", "correct": false}, {"label": "C", "text": "Behavioral Surveillance", "correct": false}, {"label": "D", "text": "Passive Surveillance", "correct": false}], "correct_answer": "A. Environmental Surveillance", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/G5YgDbyWJ6YAYmXuWZQy1743156209.mp3", "video": ""}, {"text": "How frequently is Sentinel Surveillance for HIV conducted under the National AIDS Control Programme in India?", "options": [{"label": "A", "text": "Annually", "correct": false}, {"label": "B", "text": "Biennial", "correct": true}, {"label": "C", "text": "Twice a year", "correct": false}, {"label": "D", "text": "Three times a year", "correct": false}], "correct_answer": "B. Biennial", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:715px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>HIV <span class=\"customMeta\" data-dictid=\"f08132bdfb16927771986a66c5d7b6\">Sentinel</span> Surveillance</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>HIV <span class=\"customMeta\" data-dictid=\"f08132bdfb16927771986a66c5d7b6\">sentinel</span> surveillance tracks missing cases and monitors <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> infection trends in specific groups and regions to understand epidemic dynamics and guide <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> interventions.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Objectives</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Monitor <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> infection trends & emerging pockets of <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> infection.</li>\n<li>Estimate <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> in general population as well as high-risk groups and burden in the country and high-risk groups across states.</li>\n<li>Provide data for program evaluation and improvement.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Key Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li><strong>Focus on High-Risk Groups: </strong>Commercial sex workers (CSW), <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">men</span> who have sex with <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">men</span> (MSM), injecting drug users, transgender individuals, single male migrants, and<strong> </strong>long-distance truck drivers.</li>\n<li><strong>Antenatal Women as Proxies: </strong>Includes data from <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> women to estimate <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> in the general population.</li>\n<li>Specific Sample Size:\n\t\t\t\t<ul>\n<li>Total sample size in India(from the 2016-2017 study) is 900, divided among CSWs (250), MSMs (250), and <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> women (400).</li>\n<li>Sample size from 2021 study - 400 <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> women.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Key Uses</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<ul>\n<li>Resource Allocation: Helps direct resources and interventions to the most affected areas and populations.</li>\n<li>Program Evaluation: Tracks trends to evaluate the effectiveness of HIV/AIDS control programs.</li>\n<li>Early Warning System: Acts as an early warning for emerging outbreaks or changes in transmission patterns.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Frequency and Timing</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Conducted biennially, with the most recent surveillance in India done in 2021</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/L0fnLAooyQRo8epml2gb1743156069.mp3", "video": ""}, {"text": "Which of the following laboratory markers may be positive during the window period of HIV infection?", "options": [{"label": "A", "text": "Gp41 antigen", "correct": false}, {"label": "B", "text": "P24 antigen", "correct": true}, {"label": "C", "text": "Beta-2 microglobulin (B2M)", "correct": false}, {"label": "D", "text": "Gp120 antigen", "correct": false}], "correct_answer": "B. P24 antigen", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:714px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>LABORATORY DIAGNOSIS OF <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> INFECTION</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>Screening tests</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p>ELISA screens for <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> antibodies (most sensitive)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>Confirmatory tests</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<ul>\n<li>Western <span class=\"customMeta\" data-dictid=\"2bc990c16116927771830255971ff6\">blot</span> - A confirmatory test confirms specific antibodies against p24 and gp41 proteins. (highly specific)</li>\n<li>Confirmatory test for adults - qPCR for HIV1</li>\n<li>Confirmatory tests of infants < 1 year - <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> DNA RT-PCR</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>Virus Isolation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p>Direct virus testing is not standard; <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> isolation from cultured lymphocytes is costly and resource-intensive.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>CD4 <span class=\"customMeta\" data-dictid=\"c605d4126116927771916c2002638e\">Lymphocyte</span> Count</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p>Most reliable predictor of <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> progression; absolute count indicates immune system health, with <200 cells/µL signalling a high risk of AIDS-related infections.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>CD4 <span class=\"customMeta\" data-dictid=\"c605d4126116927771916c2002638e\">Lymphocyte</span> Percentage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p>Independent indicator of disease progression; <14% suggests a heightened risk of AIDS-related complications.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>HIV <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">Viral</span> Load Tests</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p>Measure actively replicating <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> in blood; correlate with disease <span class=\"customMeta\" data-dictid=\"3c305b384216927771969ca4166493\">progression</span> and assess <span class=\"customMeta\" data-dictid=\"4019cd26841692777181fa4c0c5a6a\">antiretroviral</span> therapy effectiveness.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<p><strong>Other Markers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #272425; border-left:1px solid #272425; border-right:1px solid #272425; border-top:1px solid #272425; vertical-align:middle\">\n<ul>\n<li>Beta-2 <span class=\"customMeta\" data-dictid=\"06477fc93b16927771922ca7cd0afd\">microglobulin</span> (B2M) levels<strong> (Option C)</strong> and p24 <span class=\"customMeta\" data-dictid=\"782b31281a1692777181708484c1d1\">antigen</span> presence indicate immune <span class=\"customMeta\" data-dictid=\"ba6b77f29316927771807350f86ce2\">activation</span> and <span class=\"customMeta\" data-dictid=\"5cc2d9fac616927772021889ee6d52\">viral</span> replication, aiding disease assessment.</li>\n<li>P24 <span class=\"customMeta\" data-dictid=\"782b31281a1692777181708484c1d1\">antigen</span> tests positive in the window period <strong>(Option B)</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/11yLDk1gIUvCuNqwhHxu1743155866.mp3", "video": ""}, {"text": "Match the following STI/RTI kits available at Suraksha clinics with their corresponding contents. Kit Color Contents 1. Grey A. Genital ulcers 2. Green B. Inguinal bubo 3. White C. Urethral discharge, anorectal discharge, and cervicitis 4. Yellow D. Lower abdominal pain 5. Black E. Vaginitis", "options": [{"label": "A", "text": "1-C, 2-E, 3-A, 4-D, 5-B", "correct": true}, {"label": "B", "text": "1-D, 2-A, 3-B, 4-C, 5-E", "correct": false}, {"label": "C", "text": "1-E, 2-D, 3-C, 4-B, 5-A", "correct": false}, {"label": "D", "text": "1-B, 2-C, 3-D, 4-A, 5-E", "correct": false}], "correct_answer": "A. 1-C, 2-E, 3-A, 4-D, 5-B", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/PppM6pIuvVpigTGw99XH1725454855.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:638px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Suraksha Clinics: Integrating STI/RTI Treatment and HIV/AIDS Control</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Government STI/RTI clinics, branded as \"Suraksha Clinics,\" offer free standardized integrated <span class=\"customMeta\" data-dictid=\"cc122cedfb16927771990dec246d08\">STD</span> and RTI treatment services at district-level and above healthcare facilities.</li>\n<li>Under National AIDS Control Program (NACP)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Referral Centers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>STD Clinics at district, block, and First Referral Unit (FRU) levels act as referral centers for specialized treatment.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Counselling and <span class=\"customMeta\" data-dictid=\"672aab321d16927771840ecbc284dd\">Condom</span> Distribution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Counselling services and high-quality condoms are provided to promote safer sexual practices.</li>\n<li>Utilizes the expertise of NGOs in providing counselling services at <span class=\"customMeta\" data-dictid=\"cc122cedfb16927771990dec246d08\">STD</span> clinics.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Training and strengthening existing centers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Existing <span class=\"customMeta\" data-dictid=\"cc122cedfb16927771990dec246d08\">STD</span> clinics in hospitals and medical colleges are strengthened with technical support, equipment,</li>\n<li>Training for medical staff to manage STDs/RTIs using a <span class=\"customMeta\" data-dictid=\"87356352bc169277719923fcc93329\">syndromic</span> approach.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Pre-packed STI/RTI Color-Coded Kits</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Free pre-packed kits provided to clinics, centrally procured and distributed through State AIDS Control Societies.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Kit Colors and Conditions</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Kit 1 (Grey)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Urethral discharge, <span class=\"customMeta\" data-dictid=\"a5d2b7108116927771811311422c5c\">anorectal</span> discharge, and cervicitis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Kit 2 (Green)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Vaginitis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Kit 3 (White)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Genital ulcers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Kit 4 (Blue)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Genital ulcers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Kit 5 (Red)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Genital ulcers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Kit 6 (Yellow)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Kit 7 (Black)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Inguinal bubo</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ndUKL8333jJAz4xxBfqW1746565386.mp3", "video": ""}, {"text": "Which of the following correctly describes the HIV diagnosis strategy for symptomatic and asymptomatic individuals? A. A single rapid test confirms HIV for both groups. B. Asymptomatic individuals need three reactive rapid tests at an SA-ICTC. C. Symptomatic individuals with discordant tests (1st + ve,2nd - ve) are retested after 14–28 days. D. Asymptomatic individuals with a reactive test are immediately considered HIV-positive.", "options": [{"label": "A", "text": "A and C", "correct": false}, {"label": "B", "text": "B and D", "correct": false}, {"label": "C", "text": "B and C", "correct": true}, {"label": "D", "text": "A and B", "correct": false}], "correct_answer": "C. B and C", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/XXk04JkXJH7MooB779aD1725455571.jpg", "https://image.prepladder.com/content/YchcF5CvWZWaSpIMxTOM1725455601.png", "https://image.prepladder.com/content/u4MExUKgY7tmzXARYIeG1725455673.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:729px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tests done in ICTC include:</strong></p>\n<ol>\n<li>ELISA (most sensitive)</li>\n<li>Rapid test or spot test</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Guidelines for ICTC:</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>For Blood transfusions</strong></p>\n<br/>\n<br/>\n<br/>\n<br/>\n<br/>\n\t\t\t </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"596\" src=\"https://image.prepladder.com/content/XXk04JkXJH7MooB779aD1725455571.jpg\" width=\"596\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>For <span class=\"customMeta\" data-dictid=\"509310d4411692777199f2ffdb7769\">Symptomatic</span> patients</strong></p>\n<p><strong>(vs Statement A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"1264\" src=\"https://image.prepladder.com/content/YchcF5CvWZWaSpIMxTOM1725455601.png\" width=\"349\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>For <span class=\"customMeta\" data-dictid=\"d1a9a79f701692777182066af09044\">Asymptomatic</span> patients</strong></p>\n<p><strong>(vs Statement A&D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"1184\" src=\"https://image.prepladder.com/content/u4MExUKgY7tmzXARYIeG1725455673.jpg\" width=\"392\"/></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qLGqzYefzF0qhGR1sZoU1743156563.mp3", "video": ""}, {"text": "A 32 Y/o woman presents to her primary care physician for a routine check-up. During the visit, the physician discusses various health screenings, including HIV testing. Which of the following testing strategies does HIV testing come under?", "options": [{"label": "A", "text": "Opt-in testing.", "correct": false}, {"label": "B", "text": "Opt-out testing.", "correct": true}, {"label": "C", "text": "Both opt-in and opt-out testing.", "correct": false}, {"label": "D", "text": "Compulsory testing", "correct": false}], "correct_answer": "B. Opt-out testing.", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Strategy</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Used in</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Opt-in testing (Option A)</strong></td>\n<td>Patient is offered HIV test and must give explicit consent to be tested</td>\n<td>Common in older models and low-prevalence areas</td>\n</tr>\n<tr>\n<td><strong>Opt-out testing (Option B)</strong></td>\n<td>HIV testing is done as part of routine care unless the patient actively refuses</td>\n<td>Recommended by CDC, WHO for generalized testing</td>\n</tr>\n<tr>\n<td><strong>Compulsory testing (Option D)</strong></td>\n<td>HIV test is done without the patient’s consent or knowledge (e.g., blood donation screening)</td>\n<td>Used in select <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> or legal situations</td>\n</tr>\n<tr>\n<td><strong>Both opt-in and opt-out (Option C)</strong></td>\n<td>Not a formal strategy- rather a theoretical combination</td>\n<td>Not standardized or recommended together</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/sJAvMGx7rJptvOtBiUrD1743155322.mp3", "video": ""}, {"text": "A 32 Y/o HIV-positive woman has just delivered a healthy baby girl. The mother has been on ART throughout her pregnancy and has maintained an undetectable viral load. Which of the following medications should the newborn be started on?", "options": [{"label": "A", "text": "Zidovudine", "correct": false}, {"label": "B", "text": "Tenofovir", "correct": false}, {"label": "C", "text": "Nevirapine", "correct": true}, {"label": "D", "text": "Efavirenz", "correct": false}], "correct_answer": "C. Nevirapine", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/LOcXCioiYqiv2PQFKQ3a1725455934.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3bRPkqAlLv3C6w6hZhJ01743154988.mp3", "video": ""}, {"text": "A 30 Y/o HIV-positive woman has just given birth to a healthy baby girl. She is currently on antiretroviral therapy (ART) and has maintained an undetectable viral load throughout her pregnancy. Which of the following advice is given by her healthcare provider on the breastfeeding protocol?", "options": [{"label": "A", "text": "Breastfeeding is contraindicated as the risk of transmission is high.", "correct": false}, {"label": "B", "text": "Breastfeeding is continued till 2 years of age if the newborn is positive for HIV.", "correct": true}, {"label": "C", "text": "If the mother forgets to take ART, formula feeds can be given.", "correct": false}, {"label": "D", "text": "Breastfeeding should only be initiated if the newborn is positive for HIV.", "correct": false}], "correct_answer": "B. Breastfeeding is continued till 2 years of age if the newborn is positive for HIV.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4z2vsZ6oRU26GzH7NP4E1743154812.mp3", "video": ""}, {"text": "A 30 Y/o healthcare worker accidentally suffers a needlestick injury while drawing blood from a patient known to be HIV-positive. Which of the following medications should be immediately started for the healthcare worker?", "options": [{"label": "A", "text": "Sulfamethoxazole + Trimethoprim", "correct": false}, {"label": "B", "text": "Isoniazid + Pyridoxine", "correct": false}, {"label": "C", "text": "Zidovudine", "correct": false}, {"label": "D", "text": "Tenofovir + Lamivudine + Dolutegravir", "correct": true}], "correct_answer": "D. Tenofovir + Lamivudine + Dolutegravir", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/GYKoVp82wlbHMl9NLT9M1747423020.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 22 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which statement regarding non-communicable diseases (NCDs) is correct?", "options": [{"label": "A", "text": "NCDs are responsible for the least number of deaths worldwide.", "correct": false}, {"label": "B", "text": "Primordial prevention of NCDs involves early diagnosis and treatment of disease.", "correct": false}, {"label": "C", "text": "According to the WHO, chronic NCDs have a duration of over three months", "correct": true}, {"label": "D", "text": "Cardiovascular diseases contribute the least to the global DALY.", "correct": false}], "correct_answer": "C. According to the WHO, chronic NCDs have a duration of over three months", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/OODH0YfS1PC7rVkwAACL1742894232.mp3", "video": ""}, {"text": "Which of the following statements accurately reflects the healthcare services provided at various levels within the National Programme for Healthcare of the Elderly (NPHCE)?", "options": [{"label": "A", "text": "Sub-centers manage the treatment of minor ailments and provide rehabilitation equipment.", "correct": true}, {"label": "B", "text": "Primary Health Centers (PHCs) offer dedicated health clinics for the elderly three times a week.", "correct": false}, {"label": "C", "text": "Community Health Centers (CHCs) conduct research and development in addition to providing referral treatment.", "correct": false}, {"label": "D", "text": "District hospitals are responsible for training health professionals in geriatrics.", "correct": false}], "correct_answer": "A. Sub-centers manage the treatment of minor ailments and provide rehabilitation equipment.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/CP8ow96tNCjGPfBxJoCG1734176410.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:775px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Center</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Healthcare Services Provided</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Geriatric Unit at District Hospitals</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>10-bed <span class=\"customMeta\" data-dictid=\"0233c6484316927771886573d0dd70\">geriatric</span> wards and dedicated <span class=\"customMeta\" data-dictid=\"a9f32a257d1692777194caf3b4cf78\">outpatient</span> department (OPD) services for <span class=\"customMeta\" data-dictid=\"0233c6484316927771886573d0dd70\">geriatric</span> patients.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rehabilitation Units at CHCs</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dedicated health clinics for the elderly twice a week and <span class=\"customMeta\" data-dictid=\"1f210719c116927771959b3083cb18\">Physiotherapy</span> by rehabilitation workers. <strong>(Option B and C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>PHCs</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Weekly <span class=\"customMeta\" data-dictid=\"0233c6484316927771886573d0dd70\">geriatric</span> clinics conducted by a trained Medical Officer.</li>\n<li>Referrals to Community Health Centers or District Hospitals as needed.</li>\n<li>Monthly clinics in villages supervised by nurses from the CHC NCD clinic.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sub-centers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Domiciliary visits by ANMs (Auxiliary Nurse Midwives) and Male Health Workers</li>\n<li>Treatment of minor ailments.<strong> </strong><strong>(Option A)</strong></li>\n<li>Rehabilitation equipment.<strong> </strong><strong>(Option A)</strong></li>\n<li>Health promotion activities like camps and interpersonal communication.</li>\n<li>Opportunistic screening of the population over 30 years old using BP measurement and <span class=\"customMeta\" data-dictid=\"89e3252d5b16927771833fb9b432ae\">capillary</span> blood glucose.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CHC NCD Clinics</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Diagnosis and management of common CVD, diabetes, and stroke cases (outpatient and inpatient).</li>\n<li>Home visits by nurses for bedridden cases.</li>\n<li>Referral of complicated cases to the district hospital.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>District Hospital NCD Clinic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Screening of individuals >30 years for diabetes, hypertension, and <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> diseases.</li>\n<li>Detailed investigations for high-risk individuals and referrals from CHCs.</li>\n<li>Regular management and annual assessment of patients with cancer, diabetes, and hypertension.</li>\n<li>Management of patients with established <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> diseases.</li>\n<li>Home-based <span class=\"customMeta\" data-dictid=\"8a0b36beb6169277719466e16c52d7\">palliative</span> care for chronic, debilitating, and progressive patients.</li>\n<li>Health education and counseling</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/YgJvSa8qskIuO8AXAyAq1742894380.mp3", "video": ""}, {"text": "Which of the following is the role of an ASHA worker in the NP-NCD?", "options": [{"label": "A", "text": "Diagnose and initiate treatment for NCDs like diabetes and hypertension at the village level.", "correct": false}, {"label": "B", "text": "Perform ECGs and other lab investigations at monthly village clinics to screen for NCDs", "correct": false}, {"label": "C", "text": "Conduct opportunistic screenings for NCDs and refer suspected cases to community health centers.", "correct": true}, {"label": "D", "text": "Provide specialized care and treatment for cancer patients and refer complicated cases to district hospitals.", "correct": false}], "correct_answer": "C. Conduct opportunistic screenings for NCDs and refer suspected cases to community health centers.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/uaHxKHhZ8NywT92KnZtx1742894769.mp3", "video": ""}, {"text": "Which of the following is NOT a target outlined in the WHO's global monitoring framework for the prevention and control of non-communicable diseases (NCDs) in India?", "options": [{"label": "A", "text": "A 5% relative reduction in the prevalence of insufficient physical activity by 2025.", "correct": true}, {"label": "B", "text": "A 25% relative reduction in premature mortality from NCDs by 2025.", "correct": false}, {"label": "C", "text": "A 30% relative reduction in the prevalence of current tobacco use by 2025.", "correct": false}, {"label": "D", "text": "An 80% availability of essential NCD medicines in public and private facilities by 2025.", "correct": false}], "correct_answer": "A. A 5% relative reduction in the prevalence of insufficient physical activity by 2025.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6q2ln6nnI55cXGPFXPAJ1742895028.mp3", "video": ""}, {"text": "Which of the following is the correct sequence of steps in conducting a non-communicable disease risk factor survey?", "options": [{"label": "A", "text": "Questionnaire, biochemical investigations, physical measurements.", "correct": false}, {"label": "B", "text": "Physical measurement, biochemical investigations, questionnaire", "correct": false}, {"label": "C", "text": "Questionnaire, physical measurement, biochemical investigations.", "correct": true}, {"label": "D", "text": "Biochemical investigations, physical measurements, questionnaire.", "correct": false}], "correct_answer": "C. Questionnaire, physical measurement, biochemical investigations.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/q778OnPTynAVKnW0Xyqr1734176742.png", "https://image.prepladder.com/content/SucG8Uty3GHWTkKrkeZN1734176783.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FuYTv744EM64pGWp6r2X1742895435.mp3", "video": ""}, {"text": "Which program's logo depicts the integration of cancer control, diabetes management, cardiovascular disease prevention, and stroke management, reflecting its comprehensive approach to combating these interconnected health challenges in India?", "options": [{"label": "A", "text": "No options available", "correct": false}], "correct_answer": "Unknown", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:763px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Initiatives</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>New Initiatives under NP-NCD</strong></p>\n</td>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Intervention for prevention and control of Rheumatic Heart Disease under NP-NCD and Rashtriya <span class=\"customMeta\" data-dictid=\"eff14f005f16927771826bf88cb6c5\">Bal</span> Swasthya Karyakram (RBSK).</li>\n<li>Integration of AYUSH with NP-NCD.</li>\n<li>Integration of RNTCP with NP-NCD to articulate a national strategy for management of TB and diabetes comorbidities in India.</li>\n</ol>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cancer Component under NP-NCD</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cancer Services under NP-NCD:</p>\n<ul>\n<li>Providing common <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> services, basic surgery, chemotherapy, and <span class=\"customMeta\" data-dictid=\"8a0b36beb6169277719466e16c52d7\">palliative</span> care for cancer patients at 100 district hospitals.</li>\n<li>Supporting each district with <span class=\"customMeta\" data-dictid=\"8602c4b260169277718439bb122cb0\">chemotherapy</span> drugs for 100 patients, establishing day-care <span class=\"customMeta\" data-dictid=\"8602c4b260169277718439bb122cb0\">chemotherapy</span> facilities, and providing facilities for laboratory investigations, including mammography.</li>\n<li>Offering home-based <span class=\"customMeta\" data-dictid=\"8a0b36beb6169277719466e16c52d7\">palliative</span> care for chronic and progressive cancer patients in 100 districts.</li>\n<li>Designating State Cancer Institutes (SCIs) as <span class=\"customMeta\" data-dictid=\"2d7ea2751316927771816ceb31afee\">apex</span> institutions for comprehensive cancer diagnosis, treatment, and care.</li>\n<li>Strengthening 45 centres as <span class=\"customMeta\" data-dictid=\"22e8a6f65016927772003e97740ab2\">Tertiary</span> Cancer Centres (TCCs) to deliver comprehensive cancer care services.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/XhAQ2FHntIj4J9JVW86m1742895613.mp3", "video": ""}, {"text": "Which of the following obesity indicators is considered the most useful single measurement for assessing central obesity?", "options": [{"label": "A", "text": "BMI", "correct": false}, {"label": "B", "text": "Skinfold thickness", "correct": false}, {"label": "C", "text": "Waist-to-hip ratio", "correct": false}, {"label": "D", "text": "Waist circumference", "correct": true}], "correct_answer": "D. Waist circumference", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Y0qcJV7kJdIUYzSsvHMW1734495034.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:866px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Body weight:</strong></p>\n<ul>\n<li><strong>BMI (Quetele’s index): </strong>weight (kg) / height (m²)</li>\n<li><strong>Ponderal index:</strong> height (cm)/cube root of body weight</li>\n<li><strong>Broca’s index:</strong> height (cm) -100</li>\n<li><strong>Corpulence index: </strong>Actual weight / desirable weight</li>\n<li><strong>Lorentz formula:</strong><strong></strong></li>\n</ul>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"120\" src=\"https://image.prepladder.com/content/Y0qcJV7kJdIUYzSsvHMW1734495034.png\" width=\"544\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Though not accurate, body weight is the most commonly used indicator of obesity</li>\n<li>BMI is the most widely used indicator worldwide.</li>\n<li>Does not <span class=\"customMeta\" data-dictid=\"c9001edbf216927771860f3475b44c\">differentiate</span> between fat and muscle mass.</li>\n<li>Also, does not provide information regarding fat distribution <strong>(Option A)</strong>.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Skinfold thickness:</strong></p>\n<ul>\n<li>The sum of all four measurements: >40 in males and >50 in females</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Rapid and non-invasive method for measuring body fat.</li>\n<li>Measured with Harpenden skin callipers</li>\n<li>Measurements taken at: mid-triceps, biceps, <span class=\"customMeta\" data-dictid=\"d4c08a578f169277719902a23f9983\">subscapular</span> and suprailiac regions</li>\n<li>Measures <span class=\"customMeta\" data-dictid=\"d446e62c6c1692777199896fc1d4b9\">subcutaneous</span> fat <strong>(Option B)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Waist circumference:</strong></p>\n<ul>\n<li>>102 cm in males and >88 cm in females</li>\n<li>In the Indian population, >90 cm in males and >80 cm in females is considered high risk.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Measured at midpoint between the lower border of the <span class=\"customMeta\" data-dictid=\"8240a383bf169277719793601eae48\">rib cage</span> and the <span class=\"customMeta\" data-dictid=\"837bfc230c16927771892ece07f94b\">iliac</span> crest.</li>\n<li>Correlates closely with BMI</li>\n<li>Most commonly used to measure central <span class=\"customMeta\" data-dictid=\"c5ff3f2d211692777194ddf14e24c4\">obesity</span> and its associated risk factors <strong>(Option C)</strong></li>\n<li>Directly related to <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> and other chronic diseases</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Waist to hip ratio</strong></p>\n<ul>\n<li>>1 in <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">men</span> and >0.85 in females</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Correlates with waist circumference</li>\n<li>There may be some discrepancies as the body fat distribution may be different for each individual<strong> (Option D)</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/X0qCPqWTpU8YNhEVrWYm1742895775.mp3", "video": ""}, {"text": "Match the following research trials/programs with their respective objectives: i) MRFIT a. Surveillance and assessment of trends in cardiovascular events ii) Jai vigyan mission b. Decreasing serum cholesterol, diastolic BP, smoking cessation in lowering coronary heart disease mortality iii) MONICA c. Dietary approaches to stop HTN iv) MPOWER d. To control rheumatic heart disease v) DASH e. To control consumption of Tobacco", "options": [{"label": "A", "text": "i-d, ii-a, iii-b, iv-e, v-c", "correct": false}, {"label": "B", "text": "i-c, ii-e, iii-a, iv-d, v-b", "correct": false}, {"label": "C", "text": "i-b, ii-d, iii-a, iv-e, v-c", "correct": true}, {"label": "D", "text": "i-a, ii-c, iii-b, iv-e, v-d", "correct": false}], "correct_answer": "C. i-b, ii-d, iii-a, iv-e, v-c", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:740px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Multiple risk factor intervention Trial (MRFIT)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>It is a randomised, primary prevention trial</li>\n<li>Its objective is to check whether decreasing high levels of <span class=\"customMeta\" data-dictid=\"1ffaec13de169277719828374cfda0\">serum</span> cholesterol, DBP and smoking cessation would help in reducing <span class=\"customMeta\" data-dictid=\"bc8bc758371692777185eff2ccabb7\">coronary</span> heart disease mortality.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MPOWER</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>M</strong>onitor tobacco use and prevention policies</li>\n<li><strong>P</strong>rotect people from use of tobacco</li>\n<li><strong>O</strong>ffer help for quitting tobacco use</li>\n<li><strong>W</strong>arn about the dangers with tobacco use</li>\n<li><strong>E</strong>nforce bans on tobacco advertising, promotion and sponsorship</li>\n<li><strong>R</strong>aise taxes on tobacco</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>MONICA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Moni</strong>toring trends and determinants in<strong> ca</strong>rdiovascular disease</li>\n<li>Surveillance and assessment in trends of <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> disease</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dietary approaches to stop hypertension</strong></p>\n<p><strong>(DASH)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Consume a diet rich in vegetables, fruits and low fat dairy products with low content of <span class=\"customMeta\" data-dictid=\"bd2ac838bb16927771983dd9afc74c\">saturated</span> and total fats</li>\n<li>Helps in decreasing around 8-14 <span class=\"customMeta\" data-dictid=\"66ae2626ae169277719278edf9936d\">mm hg</span> of SBP</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Jai Vigyan mission</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Surveillance for finding out epidemiological determinants for Group A strep and <span class=\"customMeta\" data-dictid=\"0d8cd9c1b516927771981287d4850f\">sore</span> throat.</li>\n<li>Establishment of <span class=\"customMeta\" data-dictid=\"447d6153fc169277719791bbeb68dd\">registry</span> of RHD/RF all over the country</li>\n<li>To promote vaccine development</li>\n<li>To promote research and studies for investigations of RHD/RF</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0uA9hzHGeDKakr0edCwy1742895904.mp3", "video": ""}, {"text": "Which of the following is true regarding diabetes mellitus?", "options": [{"label": "A", "text": "Fasting plasma glucose should be ≥6 mmol/L", "correct": false}, {"label": "B", "text": "2 hour post load capillary plasma glucose should be ≥200 mg/dL", "correct": false}, {"label": "C", "text": "Random plasma glucose should be ≥11.1 mmol/L", "correct": true}, {"label": "D", "text": "HbA1c should be &gt;6%", "correct": false}], "correct_answer": "C. Random plasma glucose should be ≥11.1 mmol/L", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:629px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measurement</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnostic cut-off value</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Fasting <span class=\"customMeta\" data-dictid=\"a0e40688fa169277719572bdb48c92\">plasma</span> glucose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>≥7 mmol/L (126 mg/dL) <strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 hour post load <span class=\"customMeta\" data-dictid=\"96e7e3fecc16927772018cb9f8c8cd\">venous</span> <span class=\"customMeta\" data-dictid=\"a0e40688fa169277719572bdb48c92\">plasma</span> glucose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>≥11.1 mol/L (200 mg/dL)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 hour post load <span class=\"customMeta\" data-dictid=\"89e3252d5b16927771833fb9b432ae\">capillary</span> <span class=\"customMeta\" data-dictid=\"a0e40688fa169277719572bdb48c92\">plasma</span> glucose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>≥12.2 mmol/L (220 mg/dL) <strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Random <span class=\"customMeta\" data-dictid=\"a0e40688fa169277719572bdb48c92\">plasma</span> glucose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>≥11.1 mmol/L (200 mg/dL) <strong>(Option C)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HbA1c</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>≥6.5% <strong>(Option D)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yzJt1o2enWQ9Bm8MHeVz1742896118.mp3", "video": ""}, {"text": "Which of the following is not true regarding HTN?", "options": [{"label": "A", "text": "A BP of 146/92 is considered a Grade I HTN.", "correct": false}, {"label": "B", "text": "On tracking of HTN, a person who is hypotensive in childhood then remains hypotensive in adulthood.", "correct": false}, {"label": "C", "text": "Only half of all hypertensive patients need lifelong medication; others manage with lifestyle changes alone.", "correct": true}, {"label": "D", "text": "Weight loss is the single most beneficial lifestyle modification done to manage HTN.", "correct": false}], "correct_answer": "C. Only half of all hypertensive patients need lifelong medication; others manage with lifestyle changes alone.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/7wSC7B5PKFs6uRKYMz1E1734264723.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:490px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Systolic BP (mm Hg)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Diastolic BP (mm Hg)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Optimal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><120</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><80</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Normal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><130</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><85</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>High normal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>130-139</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>85-89</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Grade I</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>140-159<br/>\n<strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>90-99</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Grade II</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>160-179</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>100-109</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Hypertensive crisis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>≥180</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>>110</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:432px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Modification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Approx. <span class=\"customMeta\" data-dictid=\"29e7d0f8b21692777198c303b6dc41\">SBP</span> reduction</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Weight loss</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5-20 mmHg/10 kg weight loss <strong>(Option D)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>DASH diet</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>8-14 mmHg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dietary sodium reduction</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2-8 mmHg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Physical activity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-9 mmHg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Moderation of alcohol</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2-4 mmHg</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/AYDIKblpa5fozM9Be42t1742896311.mp3", "video": ""}, {"text": "According to the Global Cancer Observatory, what type of cancer is most common worldwide i its designated ribbon colour?", "options": [{"label": "A", "text": "Lung Cancer &amp; Dark Blue Ribbon", "correct": false}, {"label": "B", "text": "Breast Cancer &amp; Pink Ribbon", "correct": true}, {"label": "C", "text": "Lung Cancer &amp; White Ribbon", "correct": false}, {"label": "D", "text": "Colon Cancer &amp; Dark Blue Ribbon", "correct": false}], "correct_answer": "B. Breast Cancer & Pink Ribbon", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:667px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>According to the Global Cancer Observatory (GLOBOCAN), </strong></p>\n<p><strong>Most common cancer worldwide (Both Genders):</strong></p>\n<ol>\n<li>Absolute numbers, Incidence, Both sexes, in 2022 (World Wide)- Lung Cancer.</li>\n<li>Age-Standardized Rate (World) per 100 000, Incidence, Both sexes, in 2022- Breast Cancer.</li>\n</ol>\n<p><strong>Most common cancer in India in terms of absolute numbers, incidence:</strong></p>\n<ol>\n<li>Lip/Oral Cancer in Males</li>\n<li>Breast cancer in females</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>According to the National Cancer Registry, the most common cause of cancer in </strong></p>\n<ol>\n<li>Males in India – Lung cancer.</li>\n<li>Females in India - Breast cancer.</li>\n</ol>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:334px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Ribbon colour</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Meaning</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Red</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>HIV/AIDS</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Pink</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Breast cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Light Blue</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Prostate cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Dark Blue</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Colon Cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Green</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Mental illness</p>\n<p>Liver cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Orange/Yellow</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Suicide prevention</p>\n<p>Leukaemia</p>\n<p>Kidney cancer</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>White</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Lung cancer</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BPfW0Jfa0AtV97qONXk11748206507.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 21 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following diseases is not included under the program mentioned in the logo?", "options": [{"label": "A", "text": "Malaria", "correct": false}, {"label": "B", "text": "Japanese Encephalitis", "correct": false}, {"label": "C", "text": "Kala-azar", "correct": false}, {"label": "D", "text": "Leprosy", "correct": true}], "correct_answer": "D. Leprosy", "question_images": ["https://image.prepladder.com/content/vh3GKAZ7dRBjL59akXO51725458170.png"], "explanation_images": ["https://image.prepladder.com/content/HwNXBenT4SmosjmBjCDW1725458185.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Disease</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Anopheles</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Malaria</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Aedes</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Dengue & chikungunya</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Culex</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Japanese encephalitis: <span class=\"customMeta\" data-dictid=\"8821feceff1692777185b2fc88c7dd\">Culex</span> quinquefasciatus/ <span class=\"customMeta\" data-dictid=\"8821feceff1692777185b2fc88c7dd\">Culex</span> fatigans</li>\n<li>Filariasis: <span class=\"customMeta\" data-dictid=\"8821feceff1692777185b2fc88c7dd\">Culex</span> tritaeniorhynchus, <span class=\"customMeta\" data-dictid=\"8821feceff1692777185b2fc88c7dd\">Culex</span> vishnui</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sandfly</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Kala-azar</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/B3yoAeP50uBqse6BiZ831745322865.mp3", "video": ""}, {"text": "All of the following are objectives of the National Vector Borne Disease Control Programme (NVBDCP) except?", "options": [{"label": "A", "text": "To reduce annual parasite incidence &lt; 1/1000 population", "correct": false}, {"label": "B", "text": "To reduce annual blood examination rate &lt; 10%", "correct": true}, {"label": "C", "text": "To control and prevent outbreaks of dengue and chikungunya.", "correct": false}, {"label": "D", "text": "To eliminate kala-azar, lymphatic filariasis and Malaria", "correct": false}], "correct_answer": "B. To reduce annual blood examination rate < 10%", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/fpPtGzkeUc9ZU4e0I16t1743104049.mp3", "video": ""}, {"text": "Which of the following methods are classified as anti-larval techniques for mosquito control? Malathion Bacillus thuringiensis Temephos Gambusia affinis", "options": [{"label": "A", "text": "1,2,3", "correct": false}, {"label": "B", "text": "2,3,4", "correct": true}, {"label": "C", "text": "Only 3,4", "correct": false}, {"label": "D", "text": "Only 4", "correct": false}], "correct_answer": "B. 2,3,4", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:687px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Environmental measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chemical control</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Biological control</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yield permanent results and source reduction.</p>\n<p>E.g.</p>\n\t\t\t \n\n\t\t\t<ul>\n<li>Filling drains and ditches.</li>\n<li>Levelling of ground.</li>\n<li>Proper <span class=\"customMeta\" data-dictid=\"dd824a31e71692777186c7f8168998\">drainage</span> of <span class=\"customMeta\" data-dictid=\"275662f5c11692777183ab59ae573b\">breeding</span> areas.</li>\n<li>Intermittent irrigation.</li>\n<li>Changing water alkalinity.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Using larvicides</p>\n<p>E.g.</p>\n\t\t\t \n\n\t\t\t<p>1. Physical:</p>\n<ul>\n<li>MLO (Mosquito larvicidal oil): 200L/hectare</li>\n</ul>\n<p>2. Chemical:</p>\n<ul>\n<li>Paris green (stomach poison)</li>\n<li>Temephos (Abate): 200L/hectare</li>\n</ul>\n<p>3. IGR (insect growth regulators):</p>\n<ul>\n<li>Inhibit <span class=\"customMeta\" data-dictid=\"b24b4918a916927771844114519396\">chitin</span> formation, <span class=\"customMeta\" data-dictid=\"b8b85a8a841692777192148859c5c8\">moulding</span> and adult maturation.</li>\n<li>Pyriproxyfen and Diflubenzuron</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Larvivorous Fishes:</strong></p>\n<p>1. <span class=\"customMeta\" data-dictid=\"c41156c52a16927771880727830285\">Gambusia</span> and <span class=\"customMeta\" data-dictid=\"64f9227dfb169277719670bf27c0e9\">Poecilia</span> fish</p>\n<p>2. <span class=\"customMeta\" data-dictid=\"461ee544961692777182696a650b05\">Bacillus</span> thuringiensis (used in polluted waters)</p>\n<p>3. Toxorhynchites splendens</p>\n<p>(predator <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> for <span class=\"customMeta\" data-dictid=\"af830d75df169277718070c46e6ab8\">Aedes</span> and Anopheles)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EsuZNSma9QwATRTJofAA1743104259.mp3", "video": ""}, {"text": "Among different states, Madhya Pradesh has an Annual Parasite Incidence (API) of less than 1, but some districts have an API greater than 1. Which of the following options correctly matches its categorisation? 1. Category 0 a. Pre-elimination phase 2. Category 1 b. Prevention of re-establishment phase. 3. Category 2 c. Intensified control phase 4. Category 3 d. Elimination phase", "options": [{"label": "A", "text": "3 and a", "correct": true}, {"label": "B", "text": "4 and c", "correct": false}, {"label": "C", "text": "3 and d", "correct": false}, {"label": "D", "text": "1 and a", "correct": false}], "correct_answer": "A. 3 and a", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:588px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>API </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Phase</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Category 0</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevention of re-establishment/ resurgence</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Category 1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><1, all districts <1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Elimination phase</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Category 2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><1 but some districts >1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pre-elimination phase</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Category 3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>>1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Intensified control phase</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gJodbgs7RWtECjm1Xr3r1743104408.mp3", "video": ""}, {"text": "In areas with an API greater than 2, what is the spray of choice for vector control if the vector is refractory to DDT?", "options": [{"label": "A", "text": "Two rounds of DDT six weekly during the transmission season", "correct": false}, {"label": "B", "text": "Three rounds of malathion six weekly during the transmission season", "correct": true}, {"label": "C", "text": "A single round of deltamethrin during the transmission season", "correct": false}, {"label": "D", "text": "All of the above", "correct": false}], "correct_answer": "B. Three rounds of malathion six weekly during the transmission season", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/K6ImJxcrM9xvp5SwdN2p1725458287.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Vo0p9c1ayErRmgdPQjnT1743104736.mp3", "video": ""}, {"text": "Which of the following statements is true about Long-Lasting Insecticidal Nets (LLINs)?", "options": [{"label": "A", "text": "Need to be re-treated with insecticide every six months to remain effective.", "correct": false}, {"label": "B", "text": "Provide insecticidal action against mosquitoes only.", "correct": false}, {"label": "C", "text": "Insecticide used is ‘N,N-Diethyl-meta-toluamide’", "correct": false}, {"label": "D", "text": "Can be washed without losing their insecticidal properties for up to 3 years.", "correct": true}], "correct_answer": "D. Can be washed without losing their insecticidal properties for up to 3 years.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xP4HPDG9EKnsfsCfk03g1743104900.mp3", "video": ""}, {"text": "Which of the following are a part of the organization of NVBDCP? 1. Multipurpose Workers (MPWs) 2. District Malaria Officer 3. Directorate General of Health Services 4. ASHA (Accredited Social Health Activist)", "options": [{"label": "A", "text": "1, 2 and 4", "correct": false}, {"label": "B", "text": "2, 3 and 4", "correct": false}, {"label": "C", "text": "1, 2 and 3", "correct": false}, {"label": "D", "text": "1, 2, 3 and 4", "correct": true}], "correct_answer": "D. 1, 2, 3 and 4", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mi4WtnaLbzG9TRBzlgql1743105945.mp3", "video": ""}, {"text": "Which of the following statements about the Enhanced Malaria Control programme is incorrect?", "options": [{"label": "A", "text": "Aims to completely eradicate malaria globally by 2025.", "correct": true}, {"label": "B", "text": "The programme integrates vector control measures such as insecticide-treated nets and indoor residual spraying.", "correct": false}, {"label": "C", "text": "The programme is being aided by the World Bank.", "correct": false}, {"label": "D", "text": "Primarily targets rural and urban areas where malaria transmission rates are highest.", "correct": false}], "correct_answer": "A. Aims to completely eradicate malaria globally by 2025.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EtrgvsBkuqUAm31D3yHG1743105558.mp3", "video": ""}, {"text": "A 28-year-old traveller returning from a malaria-endemic region presents with high fever, chills, and sweating. A physician orders thick and thin blood smears as part of the diagnostic workup for malaria. What is the primary purpose of the thin smear in malaria diagnosis?", "options": [{"label": "A", "text": "To detect the presence of malaria parasites.", "correct": false}, {"label": "B", "text": "To determine the species of malaria parasite.", "correct": true}, {"label": "C", "text": "To assess the degree of anaemia.", "correct": false}, {"label": "D", "text": "To measure the parasite load.", "correct": false}], "correct_answer": "B. To determine the species of malaria parasite.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/zeJ5CuLsCUGnELccwLDq1743105392.mp3", "video": ""}, {"text": "Which principle is utilised in the Optimal test within the NVBDCP?", "options": [{"label": "A", "text": "Detects the HRP2 antigen produced by Plasmodium falciparum.", "correct": false}, {"label": "B", "text": "Detects the aldolase enzyme.", "correct": false}, {"label": "C", "text": "Detects the pLDH enzyme produced by live parasites.", "correct": true}, {"label": "D", "text": "All of the above", "correct": false}], "correct_answer": "C. Detects the pLDH enzyme produced by live parasites.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:768px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type of RDT</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Target</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Principle</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Use</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Limitations</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HRP2 Test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>P. falciparum</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detects the HRP2 <span class=\"customMeta\" data-dictid=\"782b31281a1692777181708484c1d1\">antigen</span> produced by <span class=\"customMeta\" data-dictid=\"adb1d6aae2169277719562770dd578\">Plasmodium</span> falciparum</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Commonly used in areas with predominant <span class=\"customMeta\" data-dictid=\"adb1d6aae2169277719562770dd578\">Plasmodium</span> falciparum</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Does not detect non-falciparum species.</p>\n\t\t\t \n\n\t\t\t<p>2. HRP-2 can persist in blood for weeks after the infection, which may lead to false-positives.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>pLDH Test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>All <span class=\"customMeta\" data-dictid=\"adb1d6aae2169277719562770dd578\">Plasmodium</span> species (species-specific variations)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Detects the pLDH <span class=\"customMeta\" data-dictid=\"0f160e4e42169277718771b715516a\">enzyme</span> produced by live parasites</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Identifies active infections</p>\n<p>2. Can <span class=\"customMeta\" data-dictid=\"c9001edbf216927771860f3475b44c\">differentiate</span> between species like P. falciparum and P. vivax</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>pLDH degrades rapidly, possibly missing low-level or early-stage infections</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Aldolase Test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>All <span class=\"customMeta\" data-dictid=\"adb1d6aae2169277719562770dd578\">Plasmodium</span> species</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detects the <span class=\"customMeta\" data-dictid=\"894e32fa0516927771818c113a874f\">aldolase</span> <span class=\"customMeta\" data-dictid=\"0f160e4e42169277718771b715516a\">enzyme</span> common to all <span class=\"customMeta\" data-dictid=\"adb1d6aae2169277719562770dd578\">Plasmodium</span> species</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Identifies infections caused by any <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> parasite</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less sensitive and specific compared to HRP2 and pLDH tests</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/g8m1sYPYF96kMBooHnzC1743105230.mp3", "video": ""}, {"text": "Which of the following is true regarding “link workers” in malaria control?", "options": [{"label": "A", "text": "1 per 500 people involved in the active detection of P. vivax", "correct": false}, {"label": "B", "text": "1 per 2000 people involved in the active detection of P. falciparum", "correct": true}, {"label": "C", "text": "1 per 500 people involved in active detection of P. falciparum", "correct": false}, {"label": "D", "text": "1 per 2000 people involved in active detection of P. vivax", "correct": false}], "correct_answer": "B. 1 per 2000 people involved in the active detection of P. falciparum", "question_images": [], "explanation_images": [], "explanation": "<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/XxxGN1ZDOSp9WQu3sbqJ1743105042.mp3", "video": ""}, {"text": "A 30-year-old male presents with intermittent fever, chills, and sweats. He recently returned from a trip to a malaria-endemic region. Laboratory tests confirm the diagnosis of Plasmodium vivax malaria. What is the drug of choice for the treatment of Plasmodium vivax malaria?", "options": [{"label": "A", "text": "Chloroquine", "correct": true}, {"label": "B", "text": "Artesunate", "correct": false}, {"label": "C", "text": "Mefloquine", "correct": false}, {"label": "D", "text": "Quinine", "correct": false}], "correct_answer": "A. Chloroquine", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:723px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Types of <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>DOC</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>DOC in pregnancy</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.Vivax</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Chloroquine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Chloroquine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>P.falciparum</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>ACT</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Quinine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mixed</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>ACT</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Quinine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Complicated /severe/cerebral malaria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>IV Artesunate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>IV Artesunate</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mx0aQIKT1NtDC9Cg4CKM1743106087.mp3", "video": ""}, {"text": "A 10-year-old child from Assam who weighs 32 kg is diagnosed with falciparum malaria. What is the recommended dose of Artemether and Lumefantrine for this child respectively?", "options": [{"label": "A", "text": "20mg; 120 mg", "correct": false}, {"label": "B", "text": "40 mg; 240 mg", "correct": false}, {"label": "C", "text": "60 mg; 360 mg", "correct": true}, {"label": "D", "text": "80 mg; 480 mg", "correct": false}], "correct_answer": "C. 60 mg; 360 mg", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>5-14 kg/5 months to 3 years</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>15-24 kg/3 to 8 years</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>25-34 kg/9 to 14 years</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>> 34 kg/> 14 years</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Total dose of ACT-AL</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20mg/120mg BD x 3 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40mg/240mg BD x 3 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>60mg/360mg BD for 3 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>80mg/480mg BD x 3 days</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pack size</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>No. of tablets in the packing</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>12</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>18</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>24</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Give</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> BD x 3 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 tablets BD x 3 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3 tablets BD x 3 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4 tablets BD x 3 days</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Colour of the pack</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yellow</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Green</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Red</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>White</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/13sscSFYiQDkXenYePeb1743106242.mp3", "video": ""}, {"text": "A patient was admitted with severe fever, neck stiffness, photophobia and confusion. Lumbar puncture done was unremarkable but rapid diagnostic test done shows falciparum malarial infection. All of the following drugs can be used in this patient except?", "options": [{"label": "A", "text": "Mefloquine", "correct": true}, {"label": "B", "text": "Arteether", "correct": false}, {"label": "C", "text": "Quinine", "correct": false}, {"label": "D", "text": "Clindamycin", "correct": false}], "correct_answer": "A. Mefloquine", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Initial <span class=\"customMeta\" data-dictid=\"f4eacdbe7b1692777194d7caa2017d\">parenteral</span> treatment (48 hours)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Follow-up treatment</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Quinine</strong></p>\n<ul>\n<li>Loading dose: 20 mg/kg</li>\n<li>Maintenance dose : 10 mg/kg TDS</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Quinine</strong> 10 mg/kg TDS +</p>\n<ul>\n<li><strong>Doxycycline</strong> 3 mg/kg (or)</li>\n<li><strong>Clindamycin </strong>10 mg/kg<strong> </strong>(if pregnant / children < 8 years)</li>\n</ul>\n<p>Total treatment duration: <strong>7 days</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Artesunate</strong>: 2.4 mg/kg <span class=\"customMeta\" data-dictid=\"00a5dcc74b16927771913b344e36a3\">loading</span> dose, then at 12th and 24th hour followed by once a day.</li>\n<li><strong>Artemether</strong>: <span class=\"customMeta\" data-dictid=\"00a5dcc74b16927771913b344e36a3\">Loading</span> dose of 3.2 mg/kg; <span class=\"customMeta\" data-dictid=\"c673060f4c16927771917496b672c8\">maintenance dose</span> of 1.6 mg/kg per day.</li>\n<li><strong>Arteether</strong>: 150 mg per day for 3 days.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ACT therapy</strong></p>\n<ul>\n<li>North-eastern states: Age & weight adjusted <strong>ACT-AL</strong> for 3 days + primaquine on second day.</li>\n<li>Other states: <strong>ACT-SP</strong> (sulfadoxine-pyrimethamine) for 3 days + primaquine on second day.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gthFOhj8hnD6VXSPpiMY1743106410.mp3", "video": ""}, {"text": "A 30-year-old man is planning a 3-month trip to a malaria-endemic area in Sub-Saharan Africa. He visits his healthcare provider to discuss options for malaria prophylaxis. Considering the need for long-term prophylaxis, which of the following is the most appropriate drug of choice?", "options": [{"label": "A", "text": "Chloroquine 300 mg once a week, on the same day each week.", "correct": false}, {"label": "B", "text": "Proguanil 100 mg, 2 tablets once a day.", "correct": false}, {"label": "C", "text": "Mefloquine 250 mg, one tablet once a week, on the same day each week.", "correct": true}, {"label": "D", "text": "Mefloquine 250 mg, one tablet once a day each week", "correct": false}], "correct_answer": "C. Mefloquine 250 mg, one tablet once a week, on the same day each week.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Short-term prophylaxis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Long-term prophylaxis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Duration of Rx</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>< 6 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>> 6 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>DOC</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Doxycycline 100 mg daily</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mefloquine 250 mg weekly</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prophylaxis period</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Before travel</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1-2 days</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2-3 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>After travel</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4 weeks</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rH8It6NYT4qpRJP49x861743106722.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "How many weight band categories are present in the Daily Drug Regimen (DDR) for the treatment of tuberculosis in adults?", "options": [{"label": "A", "text": "Five", "correct": true}, {"label": "B", "text": "Six", "correct": false}, {"label": "C", "text": "Three", "correct": false}, {"label": "D", "text": "Four", "correct": false}], "correct_answer": "A. Five", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Weight category (kg)</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Number of tablets (FDCs)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Intensive phase- 4 FDC (HRZE)- 75/100/400/275</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Continuation phase- 3 FDC (HRE)- 75/150/275</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>25-34</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>35-49</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>60-64</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>65-75</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>>75*</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Note: Patients >75 kg may receive five tablets per day if they do not tolerate the revised dose.</p>\n<ul>\n<li>Total doses taken in the <span class=\"customMeta\" data-dictid=\"901bf573f216927771905f0abedca2\">Intensive</span> phase (IP) is 56 doses.</li>\n<li>Total doses taken in the Continuation phase (CP) is 112 doses.</li>\n</ul>\n</td>\n</tr>\n<tr>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td rowspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Weight category (kg)</strong></p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Number of tablets (dispersibe FDCs)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Intensive phase</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Continuation phase</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HRZ</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>E</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HR</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>E</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>50/75/150</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>100</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>50/75</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>100</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-7</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>8-11</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>12-15</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>16-24</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>25-29</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3 + 1A*</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3 + 1A*</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30-39</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 + 2A*</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 + 2A*</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MTB1968N0J4z8aCvT1P21747246961.mp3", "video": ""}, {"text": "According to the NTEP guidelines, what population size does each Tuberculosis Unit (TU) cover?", "options": [{"label": "A", "text": "1 per 50,000 in rural/urban areas and 1 per 25,000 in hilly/tribal areas", "correct": false}, {"label": "B", "text": "1 per 100,000 in rural/urban areas and 1 per 50,000 in hilly/tribal areas", "correct": false}, {"label": "C", "text": "1 per 200,000 in rural/urban areas and 1 per 100,000 in hilly/tribal areas", "correct": true}, {"label": "D", "text": "1 per 300,000 in rural/urban areas and 1 per 150,000 in hilly/tribal areas", "correct": false}], "correct_answer": "C. 1 per 200,000 in rural/urban areas and 1 per 100,000 in hilly/tribal areas", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Xhtk2887qRBFZzRmf5sm1734267734.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/cWBRvnDUKZ37KUDeDpEj1747246517.mp3", "video": ""}, {"text": "Which initiative in India focuses on supporting District Drug Resistant TB Centres (DDR -TC) in management of drug-resistant tuberculosis (TB)?", "options": [{"label": "A", "text": "Indian TB Genomic Surveillance Consortium", "correct": false}, {"label": "B", "text": "DT3 Centers", "correct": true}, {"label": "C", "text": "Dare2eraD TB (2022)", "correct": false}, {"label": "D", "text": "TRACE-TB Project", "correct": false}], "correct_answer": "B. DT3 Centers", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/fn2xxYTkR65PN8K1YL5F1743280132.mp3", "video": ""}, {"text": "When is World Tuberculosis (TB) Day observed, and what is the theme for 2024?", "options": [{"label": "A", "text": "March 24; \"Invest to End TB. Save Lives.\"", "correct": false}, {"label": "B", "text": "March 24; \"Yes! We Can End TB.\"", "correct": true}, {"label": "C", "text": "April 24; \"The Clock is Ticking.\"", "correct": false}, {"label": "D", "text": "April 24; \"Unite to End TB.\"", "correct": false}], "correct_answer": "B. March 24; \"Yes! We Can End TB.\"", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1P44KGcvjmiNpNxpNWnG1743280259.mp3", "video": ""}, {"text": "Which technology-based initiative has been implemented by the Indian government to track and manage tuberculosis (TB) cases?", "options": [{"label": "A", "text": "Swasthya Sathi", "correct": false}, {"label": "B", "text": "eVIN", "correct": false}, {"label": "C", "text": "Nikshay", "correct": true}, {"label": "D", "text": "Aarogya Setu", "correct": false}], "correct_answer": "C. Nikshay", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/0i4SjOYtsuB6hbDOB0SL1725457951.png", "https://image.prepladder.com/content/LsGlWexPRkDDSyGUkwnz1725457967.png", "https://image.prepladder.com/content/JAwZwcBswyvvv1phbP1m1725447608.png", "https://image.prepladder.com/content/GuaWAEOf5TrASoJp17fW1725457983.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RC3EfSpClF1HqAgxAyGy1743280578.mp3", "video": ""}, {"text": "What is the monthly financial incentive provided under the Nikshay Poshan Yojana for TB patients to support their nutritional needs?", "options": [{"label": "A", "text": "Rs 300", "correct": false}, {"label": "B", "text": "Rs 500", "correct": true}, {"label": "C", "text": "Rs 750", "correct": false}, {"label": "D", "text": "Rs 1000", "correct": false}], "correct_answer": "B. Rs 500", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FyGkg0eBCZ5udNm1bIKA1743280752.mp3", "video": ""}, {"text": "You diagnose a 35 year old man with tuberculosis. Further questioning his social history reveals that he lives with his elderly parents and wife in a seemingly small apartment. Which of the following would you recommend as prophylactic treatment for his family members?", "options": [{"label": "A", "text": "Isoniazid (600mg OD) for 6 months", "correct": false}, {"label": "B", "text": "Shorter TPT (TB Preventive Therapy) - Rifapentine + Isoniazid weekly for 3 months", "correct": true}, {"label": "C", "text": "Pyrizinamide (800mg OD) for 3 months.", "correct": false}, {"label": "D", "text": "Rifampicin (1500mg OD) for 9 months.", "correct": false}], "correct_answer": "B. Shorter TPT (TB Preventive Therapy) - Rifapentine + Isoniazid weekly for 3 months", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/JDfBgjz1fn3oKlvurGzP1734267125.png"], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Regimen</strong></th>\n<th><strong>Drugs Used</strong></th>\n<th><strong>Duration</strong></th>\n<th><strong>Target Groups</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>3HP</strong></td>\n<td>Isoniazid + Rifapentine (weekly)</td>\n<td>3 months</td>\n<td>Adults and children >2 years, PLHIV, household contacts</td>\n<td>WHO-recommended; shorter duration improves adherence</td>\n</tr>\n<tr>\n<td><strong>6H</strong></td>\n<td>Isoniazid daily</td>\n<td>6 months</td>\n<td>All age groups, including children and PLHIV</td>\n<td>Traditional regimen; effective but lower <span class=\"customMeta\" data-dictid=\"5f8b7d103016927771806be7e4190b\">adherence</span> due to long duration</td>\n</tr>\n<tr>\n<td><strong>3HR</strong></td>\n<td>Isoniazid + Rifampicin daily</td>\n<td>3 months</td>\n<td>Children <15 years, PLHIV, household contacts</td>\n<td>WHO-recommended; safe for children</td>\n</tr>\n<tr>\n<td><strong>4R</strong></td>\n<td>Rifampicin daily</td>\n<td>4 months</td>\n<td>Individuals intolerant to INH, or where INH resistance is suspected</td>\n<td>Alternative <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">regimen</span> when INH is contraindicated</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/VgT2JkOB20jhJRVlAHHf1747247946.mp3", "video": ""}, {"text": "A 25 year old woman, who is 18 weeks pregnant, is diagnosed with MDR-TB. She comes to you for advice on how to proceed with her pregnancy and treatment. What is the most appropriate management plan for this patient?", "options": [{"label": "A", "text": "Start the Shorter oral Bedaquiline regimen immediately and continue the pregnancy.", "correct": false}, {"label": "B", "text": "Advise Medical Termination of Pregnancy (MTP) and if done, start the Shorter oral Bedaquiline regimen.", "correct": true}, {"label": "C", "text": "Start the Longer oral Bedaquiline regimen immediately and continue the pregnancy.", "correct": false}, {"label": "D", "text": "Continue the pregnancy without initiating any TB treatment until the second trimester.", "correct": false}], "correct_answer": "B. Advise Medical Termination of Pregnancy (MTP) and if done, start the Shorter oral Bedaquiline regimen.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/ziLK59wxxFfPjP5zcluw1734266925.png", "https://image.prepladder.com/content/8BsEUSC4NL6uKeEYl6KT1734266990.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FKMeXcKoNow2hlob0jCW1747247111.mp3", "video": ""}, {"text": "Which of the following is false regarding the BPaL regimen used in the treatment of tuberculosis?", "options": [{"label": "A", "text": "It was first studied clinically in the Nix-TB trial conducted by WHO", "correct": false}, {"label": "B", "text": "It can be used in patients with XDR-TB", "correct": false}, {"label": "C", "text": "It is used to treat MDR-TB patients who are unresponsive to treatment", "correct": false}, {"label": "D", "text": "It is used only in Rifampicin-resistant TB", "correct": true}], "correct_answer": "D. It is used only in Rifampicin-resistant TB", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rwudQZiGIwues1Grjh2K1747247368.mp3", "video": ""}, {"text": "A 30 year old female came with complaints of evening rise of temperature, night sweats, cough and blood in sputum for the past 5 weeks. The doctor suspects TB and orders Sputum AFB, CBNAAT, and chest X-ray for the patient. All of the tests come out positive confirming her diagnosis of TB. The CBNAAT shows she is resistant to rifampicin but sensitive to isoniazid on first-line LPA. Which of the following would be the most appropriate treatment regimen for her?", "options": [{"label": "A", "text": "18 months:BDQC₂L₂ (Bdq-Bedaquiline, C-Cycloserine, C-Clofazimine, L-Linezolid, L-Levofloxacin).", "correct": false}, {"label": "B", "text": "4-6 months: CHOOBZEEt (Z-Pyrazinamide, E-Ethambutol, E-Ethionamide, C-Clofazimine, H-high dose Isoniazid, O-Levofloxacin, B-bedaquiline).· 5 months: COZE (Z-Pyrazinamide, E-Ethambutol, O-Levofloxacin, C-Clofazimine).", "correct": true}, {"label": "C", "text": "2 months : HRZE (H-Isoniazide, R- Rifampicin, Z-Pyrazinamide, E-Ethambutol) 4 months: HRE (H-Isoniazide, R- Rifampicin, E-Ethambutol)", "correct": false}, {"label": "D", "text": "6 months: ZERO (Z-Pyrazinamide, E-Ethambutol, R-Rifampicin, O-Levofloxacin).", "correct": false}], "correct_answer": "B. 4-6 months: CHOOBZEEt (Z-Pyrazinamide, E-Ethambutol, E-Ethionamide, C-Clofazimine, H-high dose Isoniazid, O-Levofloxacin, B-bedaquiline).· 5 months: COZE (Z-Pyrazinamide, E-Ethambutol, O-Levofloxacin, C-Clofazimine).", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>4-6 months of CHOBZEEt </strong></p>\n<p><strong>(Intensive phase)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Upto 5 months of COZE (continuation phase)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Z - </strong>Pyrazinamide</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Z - </strong>Pyrazinamide</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>E - </strong>Ethambutol</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>E - </strong>Ethambutol</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>E -</strong> Ethionamide</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>O - </strong>Levofloxacin</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>C - </strong>Clofazimine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>C - </strong>Clofazimine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>H - </strong>high dose Isoniazid</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>O - </strong>Levofloxacin</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>B - </strong>bedaquiline</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MubLxCeoXFWyMpULc2h21747247519.mp3", "video": ""}, {"text": "Which of the following statements is true regarding global initiative to control TB ?", "options": [{"label": "A", "text": "To eliminate TB by 2050 under the End TB initiative.", "correct": false}, {"label": "B", "text": "To reduce mortality of TB by 80% under Sustainable Development Goals", "correct": false}, {"label": "C", "text": "To reduce mortality &amp; incidence of TB by 90% under the Stop TB initiative", "correct": false}, {"label": "D", "text": "To reduce incidence of TB by 80% under Sustainable Development Goals", "correct": true}], "correct_answer": "D. To reduce incidence of TB by 80% under Sustainable Development Goals", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/oMBDyY1kOrFaIojsrBjw1734265492.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5QC1aVvGPWuBuzISSKnd1743279221.mp3", "video": ""}, {"text": "A 45 year old woman presents to a Community Health Center (CHC) with a persistent cough, fever, and night sweats for the past three weeks. She has significant weight loss and a known history of contact with a TB patient. The clinician suspects TB and aims to confirm the diagnosis. According to NTEP guidelines, which of the following diagnostic modalities is not typically used for the initial diagnosis of TB?", "options": [{"label": "A", "text": "Sputum smear microscopy", "correct": false}, {"label": "B", "text": "Chest X-ray", "correct": false}, {"label": "C", "text": "F/S Line Probe Assay", "correct": true}, {"label": "D", "text": "TruNAAT/CBNAAT", "correct": false}], "correct_answer": "C. F/S Line Probe Assay", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:648px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnostic Modality</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Usage</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sputum <span class=\"customMeta\" data-dictid=\"6777533153169277719804fcbbf2d1\">Smear</span> Microscopy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Microscopic examination of <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> samples to detect <span class=\"customMeta\" data-dictid=\"440f2b916316927771808b8ad44a64\">acid-fast</span> <span class=\"customMeta\" data-dictid=\"fe0005a48b1692777182143f69e1d5\">bacilli</span> (AFB).</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used for initial screening and diagnosis, especially in resource-limited settings.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Chest X-ray</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Imaging done to identify abnormalities suggestive of TB.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used to support diagnosis when clinical suspicion is high; not <span class=\"customMeta\" data-dictid=\"32b854324a1692777185c6c79fdc99\">definitive</span> for TB diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>TruNAAT/CBNAAT</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Molecular tests that detect Mycobacterial DNA and <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">rifampicin</span> resistance.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Recommended for initial diagnosis due to high sensitivity and specificity; rapid results.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Line <span class=\"customMeta\" data-dictid=\"175eb86b5f16927771964d5ced6bf3\">Probe</span> <span class=\"customMeta\" data-dictid=\"fc026ff6d81692777182835f6de6df\">Assay</span> (LPA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Molecular test to detect specific genetic mutations associated with <span class=\"customMeta\" data-dictid=\"36f0ccd0621692777186c1c3cecf48\">drug resistance</span> (e.g., rifampicin, isoniazid).</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used for detecting <span class=\"customMeta\" data-dictid=\"36f0ccd0621692777186c1c3cecf48\">drug resistance</span> in confirmed TB cases, not for initial diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculin Skin Test (TST)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A skin test to measure <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> to <span class=\"customMeta\" data-dictid=\"6a367ebd0c169277719091155a5b0f\">injected</span> <span class=\"customMeta\" data-dictid=\"0fe92012341692777201bab3db39b1\">tuberculin</span> protein.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Primarily used for screening <span class=\"customMeta\" data-dictid=\"cec2565ecd1692777191eed58869b2\">latent</span> TB infection; not specific for active TB diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Interferon-Gamma Release Assays (IGRAs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Blood <span class=\"customMeta\" data-dictid=\"0ac01cc0c31692777185cae5f28175\">cytokine</span> analysis test that measures <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> to TB antigens.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used for detecting <span class=\"customMeta\" data-dictid=\"cec2565ecd1692777191eed58869b2\">latent</span> TB infection</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sputum Culture</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Growing <span class=\"customMeta\" data-dictid=\"46f768d2e41692777193d69cbc7eec\">Mycobacteria</span> from <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> samples to confirm TB and test for drug susceptibility.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Gold standard for TB diagnosis; takes several weeks to obtain results.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Drug <span class=\"customMeta\" data-dictid=\"6ced8252211692777199ab0cc3f2bb\">Susceptibility</span> Testing (DST)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Testing TB bacteria from patient samples to determine resistance to TB drugs.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used to guide treatment by identifying <span class=\"customMeta\" data-dictid=\"d4c88fcae71692777186aa1c32423a\">drug-resistant</span> strains in confirmed TB cases.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/brpzbayb1LbiWNGIUzO01747246295.mp3", "video": ""}, {"text": "A 50 year old man diagnosed with TB has undergone drug susceptibility testing (DST). The results show that he is resistant to both isoniazid and rifampicin but susceptible to all fluoroquinolones and second-line injectable drugs. According to the classification based on drug resistance in the NTEP guidelines, how should this patient's case be categorized?", "options": [{"label": "A", "text": "Monoresistant TB", "correct": false}, {"label": "B", "text": "Polydrug-resistant TB", "correct": false}, {"label": "C", "text": "Multidrug-resistant TB (MDR-TB)", "correct": true}, {"label": "D", "text": "Extensively drug-resistant TB (XDR-TB)", "correct": false}], "correct_answer": "C. Multidrug-resistant TB (MDR-TB)", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:634px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Drug sensitive TB</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Patients are sensitive to 4 TB drugs: R,H,Z,E (Rifampicin, Isoniazid, Pyrazinamide, Ethambutol).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mono-resistant (MR) (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Resistant to one 1st line anti-TB drug only.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>H-Mono-resistant (H-MR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Resistant to <span class=\"customMeta\" data-dictid=\"5d8c24b3cb16927771909a5195d7f8\">Isoniazid</span> (H) only.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rifampicin resistant (RR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Resistant to <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">Rifampicin</span> (R) only.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Multi drug resistant (MDR) (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Resistant to both <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">Rifampicin</span> (R) & <span class=\"customMeta\" data-dictid=\"5d8c24b3cb16927771909a5195d7f8\">Isoniazid</span> (H).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Poly-Drug resistant (PDR) (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Resistant to 2 drugs other than <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">Rifampicin</span> (R) & <span class=\"customMeta\" data-dictid=\"5d8c24b3cb16927771909a5195d7f8\">Isoniazid</span> (H).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pre-Xtensive resistant (pre-XDR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Any <span class=\"customMeta\" data-dictid=\"3c0021ebec1692777192f766374e40\">MDR</span> patient (H+R) resistant to any fluoroquinolone.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Extensive resistant (XDR) (Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Any <span class=\"customMeta\" data-dictid=\"3c0021ebec1692777192f766374e40\">MDR</span> patient (H+R) resistant to any <span class=\"customMeta\" data-dictid=\"f4975edd0b1692777203b54cf45c2d\">fluoroquinolone</span> and Group 4 drugs (Bedaquiline, Linezolid, Levo/Moxifloxacin).</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7HvsAeeiaDlUMN25kV5n1747246111.mp3", "video": ""}, {"text": "A 40 year old woman has been diagnosed with TB. Her medical records indicate she completed a full course of TB treatment and was declared cured two years ago. However, she is now presenting with symptoms of TB again and has a positive sputum test. According to the classification based on the history of previous TB treatment under the NTEP, how should this patient's case be categorized?", "options": [{"label": "A", "text": "New case", "correct": false}, {"label": "B", "text": "Treatment after failure", "correct": false}, {"label": "C", "text": "Treatment after loss to follow-up", "correct": false}, {"label": "D", "text": "Recurrent TB case", "correct": true}], "correct_answer": "D. Recurrent TB case", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>New case (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Newly diagnosed case and has never taken TB treatment before/taken treatment for <1 month duration.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Previously treated case</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Taken TB treatment earlier for >1 month.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Recurrent TB case</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>TB patient declared cured or treatment complete, presents again as a microbiologically confirmed TB case.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Treatment after failure (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>TB patient who had been treated for TB & presents as a failure at the most recent course of treatment or is positive even at 5 months of treatment.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Treatment after loss to follow up (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A TB patient who received treatment for >1 month & registered as loss to follow up, is presenting again as a microbiologically positive TB case.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Other previously treated patients</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Earlier treatment is not known or not documented.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Transferred in</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Treatment starts at one TB unit, then the patient is transferred to another TB unit.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/QTyXoAt9sDwLjX4I5GYV1747164066.mp3", "video": ""}, {"text": "A 35 year old man visits the clinic with a persistent cough and fever lasting for more than 2 weeks. He also reports experiencing night sweats and significant weight loss over the past month. Sputum smear tests or radiological tests are not yet done. According to the new terminologies in NTEP, how should this patient's case be categorized?", "options": [{"label": "A", "text": "Clinically diagnosed TB case", "correct": false}, {"label": "B", "text": "TB suspect", "correct": false}, {"label": "C", "text": "Sputum negative TB case", "correct": false}, {"label": "D", "text": "Presumptive TB case", "correct": true}], "correct_answer": "D. Presumptive TB case", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Criteria/Features</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Presumptive TB Case</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Used in place of TB suspect</strong>.</li>\n<li>Individuals showing symptoms suggestive of TB but not yet confirmed.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cough, Fever, <span class=\"customMeta\" data-dictid=\"a696a8e86016927771939c84736fbb\">Night sweats</span> +- Weight loss > 2 weeks</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Clinically Diagnosed TB Case</strong></p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Sputum negative but with high clinical suspicion of TB.</li>\n<li><strong>Used in place of <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">Sputum</span> negative TB case. (Option C)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Persistent symptoms despite negative <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> smear</li>\n<li>High clinical suspicion based on symptoms, radiological and <span class=\"customMeta\" data-dictid=\"1e9c8202241692777189dbac6cc062\">histological</span> features</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bacteriologically Confirmed TB Case</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Biological <span class=\"customMeta\" data-dictid=\"c02ad9ae0f1692777198d76afc93c4\">specimen</span> is positive for <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> AFB and/or CBNAAT.</li>\n<li><strong>Used in place of <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">Sputum</span> positive TB case.</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Positive <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> <span class=\"customMeta\" data-dictid=\"6777533153169277719804fcbbf2d1\">smear</span> for AFB</li>\n<li>Positive CBNAAT test confirming the presence of TB bacteria</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ZrMmr2tlpQ4RTA6ihgbT1747245726.mp3", "video": ""}, {"text": "Select the correct option for a treatment protocol according to NTEP which does not have a separate Intensive and Continuation phase. a. Drug-sensitive TB b. H mono/poly drug-resistant TB c. Shorter oral bedaquiline regimen d. Longer M/XDR-TB regimen", "options": [{"label": "A", "text": "b, c and d", "correct": false}, {"label": "B", "text": "b and d", "correct": true}, {"label": "C", "text": "a, c and d", "correct": false}, {"label": "D", "text": "b and c", "correct": false}], "correct_answer": "B. b and d", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Regimen Class</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Intensive Phase</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Continuation Phase</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Notes</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Drug-sensitive TB</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 months: H+R+Z+E</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4 months: H+R+E</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">-</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>H mono/poly <span class=\"customMeta\" data-dictid=\"d4c88fcae71692777186aa1c32423a\">drug-resistant</span> TB</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6 months: Lfx+R+E, Z</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>No separate phase</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">-</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Shorter oral <span class=\"customMeta\" data-dictid=\"d0a85225e8169277718252304cfc4b\">bedaquiline</span> <span class=\"customMeta\" data-dictid=\"988bd8e7c71692777197b9f1d5d5ca\">regimen</span> (Shorter MDR-TB</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-6 months: Bdq+Lfx+Cfz+Z+E+H(high dose)+Eto.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5 months: Lfx+Cfz+Z+E</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bdq to be given for 6 months.</p>\n<p>H to be given in high doses.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Longer M/XDR-TB regimen</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>18-20 months: Lfx+Bdq+Lzd+Cfz+Cs</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>No separate phase</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">-</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/UCgLgRO3bRryW4Yvah9k1747245552.mp3", "video": ""}, {"text": "Match the following: a. Active case Detection i) Hospital reports are used for case detection b. Intensified case finding ii) ASHA workers receive incentive of Rs. 500 for finding a presumptive case c. Community based screening iii) Initiates screening of TB symptoms d. Passive case detection iv) ASHA workers collect details of risk factors of TB and diabetes.", "options": [{"label": "A", "text": "a-ii, b-iii, c-iv, d-i", "correct": true}, {"label": "B", "text": "a-iii, b-ii, c-i, d-iv", "correct": false}, {"label": "C", "text": "a-iv, b-iii, c-ii, d-i", "correct": false}, {"label": "D", "text": "a-i, b-iii, c-ii, d-iv", "correct": false}], "correct_answer": "A. a-ii, b-iii, c-iv, d-i", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ae5H9uwNs240GJOOdQaI1747248071.mp3", "video": ""}, {"text": "Which of the following is the main component of the JEET strategy to control TB ?", "options": [{"label": "A", "text": "To increase the notification rates of TB by private practitioners.", "correct": true}, {"label": "B", "text": "To open various testing centers for TB", "correct": false}, {"label": "C", "text": "Latest pharmaceutical innovation for early detection", "correct": false}, {"label": "D", "text": "Improved infrastructure for better isolation facilities to control TB", "correct": false}], "correct_answer": "A. To increase the notification rates of TB by private practitioners.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/RhOi9oVrcPGcmq25TRgo1734265957.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/98AG4aBIEwNfUqOpcIaC1743279881.mp3", "video": ""}, {"text": "Which of the following is not the strategy of NTEP ?", "options": [{"label": "A", "text": "CB-NAAT done for Anyone with cough &gt; 2 weeks", "correct": false}, {"label": "B", "text": "TRUENAT gives result of rifampicin resistance within 1 hour", "correct": false}, {"label": "C", "text": "Shorter &amp; Longer oral MDR/XDR regimens are introduced.", "correct": false}, {"label": "D", "text": "Aim is to Prevent, Detect and Treat", "correct": true}], "correct_answer": "D. Aim is to Prevent, Detect and Treat", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SvuRdLMjqTl2iSjAPnao1743279723.mp3", "video": ""}, {"text": "Which of the following statements is true?", "options": [{"label": "A", "text": "To eliminate TB by 2025 under National Tuberculosis Elimination Programme", "correct": true}, {"label": "B", "text": "Eliminate malaria throughout the entire country by 2050 under National Framework for Malaria Elimination in India", "correct": false}, {"label": "C", "text": "To achieve zero new infection and AIDS-related deaths by 2035", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "A. To eliminate TB by 2025 under National Tuberculosis Elimination Programme", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CSZ5wIIpjh0Bm5icjeMX1743279524.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 30 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is not a goal of the National Health Mission?", "options": [{"label": "A", "text": "Eliminate kala-azar by 2015", "correct": false}, {"label": "B", "text": "Reduce MMR to 1/1000 live births", "correct": false}, {"label": "C", "text": "Reduce IMR to 25/1000 live births", "correct": false}, {"label": "D", "text": "Reduce the incidence of leprosy to half.", "correct": true}], "correct_answer": "D. Reduce the incidence of leprosy to half.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/qhN6DBVAA2dRKFwkz7gr1725509164.jpg"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:605px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reduce <span class=\"customMeta\" data-dictid=\"dd5a4b46231692777190d1d2cf4d23\">Infant Mortality Rate</span> to 25/1000 live births <strong>(Option C)</strong><strong>.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reduce <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">Maternal</span> Mortality Rate to 1/1000 live births <strong>(Option B)</strong><strong>.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reduce Total <span class=\"customMeta\" data-dictid=\"2238ef34bc16927772024c3becf614\">Fertility</span> Rate to 2.1</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reduce annual <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> and mortality from TB by half.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reduce <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of <span class=\"customMeta\" data-dictid=\"f200a5b7181692777191c4f24b2a3e\">Leprosy</span> to <1/10000 population and <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> to <span class=\"customMeta\" data-dictid=\"116e588c7b1692777202c7f3040428\">zero</span> in all districts<strong> </strong><strong>(Option D)</strong><strong>.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Annual <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> to < 1/1000.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><1% <span class=\"customMeta\" data-dictid=\"1e300ef0e21692777192fbb44da080\">microfilaria</span> <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> in all districts.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Eliminate <span class=\"customMeta\" data-dictid=\"a6ac0e2bbf16927771905309bf8e7e\">kala-azar</span> by 2015<strong> (Option A)</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/z3Es10FJaN0HBj9DxNfb1743418358.mp3", "video": ""}, {"text": "Which of the following is not a component of RMNCAH+N?", "options": [{"label": "A", "text": "Adolescent health", "correct": false}, {"label": "B", "text": "Newborn health", "correct": false}, {"label": "C", "text": "Geriatric health", "correct": true}, {"label": "D", "text": "Maternal health", "correct": false}], "correct_answer": "C. Geriatric health", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/VSldSGz54JnZfbGlUpZY1725509391.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FJhJle5B5WJkB8RalMJM1743418524.mp3", "video": ""}, {"text": "Which of the following is not true regarding Janani Suraksha Yojana?", "options": [{"label": "A", "text": "Launched in 2005", "correct": false}, {"label": "B", "text": "Promotes Institutional deliveries", "correct": false}, {"label": "C", "text": "Incentives are provided only to pregnant females delivering in institutions", "correct": true}, {"label": "D", "text": "It subsidizes the cost of C-sections up to Rs.1500.", "correct": false}], "correct_answer": "C. Incentives are provided only to pregnant females delivering in institutions", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:815px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\"> \n\t\t\t<p><strong>Category</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Rural areas</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Urban areas</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Mother’s incentive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>ASHA’s incentive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Mother’s incentive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>ASHA’s incentive</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Low-performing states (LPS)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>1400</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>600</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>1000</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>400</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>High-performing states (HPS)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>700</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>600</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>600</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>400</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/IMWMp5XtJpTdFDosYTgT1743418665.mp3", "video": ""}, {"text": "Which of the following health programmes does the logo below represent?", "options": [{"label": "A", "text": "Maa Programme (Mother’s Absolute Affection)", "correct": false}, {"label": "B", "text": "LAQSHYA", "correct": false}, {"label": "C", "text": "Pradhan Mantri Matru Vandana Yojana", "correct": false}, {"label": "D", "text": "Janani Shishu Suraksha Karyakram", "correct": true}], "correct_answer": "D. Janani Shishu Suraksha Karyakram", "question_images": ["https://image.prepladder.com/content/GU50G6Of00j2yLGzb09f1725510212.png"], "explanation_images": ["https://image.prepladder.com/content/ZiDP0HnAnikkXWb8g1yz1725510041.png", "https://image.prepladder.com/content/Rb3MmIJj7RPU5QKnrCTa1725510066.png", "https://image.prepladder.com/content/SPN84Wwv07n4WnqbU4TD1725510098.png", "https://image.prepladder.com/content/NGJMFa5kykZmuZ0d9SvD1725510133.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/yttoFvei4g3gtcc2sI0q1743418813.mp3", "video": ""}, {"text": "Under the LaQshya scheme, what is the focus area for improving infrastructure in healthcare facilities?", "options": [{"label": "A", "text": "Emergency services", "correct": false}, {"label": "B", "text": "Immunization services", "correct": false}, {"label": "C", "text": "Primary health centres", "correct": false}, {"label": "D", "text": "Labour rooms and maternity operation theatres", "correct": true}], "correct_answer": "D. Labour rooms and maternity operation theatres", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/KPmjtR6V4vU9l5eaF4YX1725510476.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:558px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Aim</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Improved care in the delivery services in the <span class=\"customMeta\" data-dictid=\"611667987616927771916059d414ee\">labor room</span> and ensuring the satisfaction of beneficiaries.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Incentive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>For providing <span class=\"customMeta\" data-dictid=\"611667987616927771916059d414ee\">labor room</span> care and ensuring the satisfaction of beneficiaries.</li>\n<li>Provided to health care setups - CHC, Sub-district hospital and District hospital.</li>\n<li><strong>Sub centers and PHC are not a part of LAQSHYA.</strong></li>\n<li>80% satisfied beneficiaries will be provided incentives of:\n\t\t\t\t<ul>\n<li>Rs. 6 lakhs: For Medical College hospitals</li>\n<li>Rs. 3 lakhs: District hospitals</li>\n<li>Rs. 2 Lakhs: First referral units</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>NQAS score</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Platinum- 90%</li>\n<li>Gold- 80%</li>\n<li>Silver- 70%</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Uo6L5zRHk9gTe1u3houc1743418942.mp3", "video": ""}, {"text": "Which maternal health initiative is not under the Ministry of Health and Family Welfare?", "options": [{"label": "A", "text": "Pradhan mantri matru vandana yojana", "correct": true}, {"label": "B", "text": "Pradhan Mantri Surakshit Matritva Abhiyan", "correct": false}, {"label": "C", "text": "SUMAN scheme", "correct": false}, {"label": "D", "text": "MAA program", "correct": false}], "correct_answer": "A. Pradhan mantri matru vandana yojana", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/XK6E932PNK7hyJHYROfT1725510789.png", "https://image.prepladder.com/content/mJWNAKHr6Ihepz8QZOZG1725510847.png", "https://image.prepladder.com/content/2dFXcfTCDEMOZVUOvKiU1725510816.png", "https://image.prepladder.com/content/ufHaQvxYpFq3ZMxExKBV1725510737.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:763px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pradhan Mantri Matru Vandana Yojana (Option A)</strong></p>\n<p> </p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"200\" src=\"https://image.prepladder.com/content/XK6E932PNK7hyJHYROfT1725510789.png\" width=\"200\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:534px\">\n<ul>\n<li>This program is under the <em>Ministry of Women and Child Development.</em></li>\n<li>Cash incentive is given only up to 1 birth.</li>\n<li>Cash incentive of Rs. 6000 given in 2 installments:\n\t\t\t\t<ul>\n<li><strong>First Installment</strong>: ₹3,000 is given after the beneficiary registers her pregnancy and meets early <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> care conditions, such as taking iron-folic acid tablets and receiving the first <span class=\"customMeta\" data-dictid=\"64dfe4fca51692777200a7ffbc44bb\">tetanus</span> <span class=\"customMeta\" data-dictid=\"b895bf74681692777200571d1bd203\">toxoid</span> injection.</li>\n<li><strong>Second Installment</strong>: ₹3,000 is provided after delivery, following birth <span class=\"customMeta\" data-dictid=\"ecc2886bef169277719705c1e5adf2\">registration</span> and initial <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">immunization</span> of the <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> with vaccines such as BCG, OPV, and Hepatitis</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pradhan Mantri Surakshit Matritva Abhiyan (Option B)</strong></p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"220\" src=\"https://image.prepladder.com/content/mJWNAKHr6Ihepz8QZOZG1725510847.png\" width=\"232\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:534px\">\n<ul>\n<li>On the 9th of every month, free <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> services are provided to women, particularly in the 2nd or 3rd trimester, in government and private facilities that are part of the scheme.</li>\n<li>Aim - To identify high-risk pregnancies on time.</li>\n<li>This program is under the <em>Ministry of Health and Family Welfare.</em></li>\n<li>Red card - Women at high risk.</li>\n<li>Green card - Women <span class=\"customMeta\" data-dictid=\"1a8e8831bb1692777182ce2c8a751f\">at no</span> risk</li>\n<li>Blue card - Woman is a case of PIH</li>\n<li>Yellow card - Women with comorbidities (Diabetes, Thyroid)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Surakshit Matritva Aashwasan (SUMAN) Scheme (Option C) </strong><strong> </strong></p>\n<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"198\" src=\"https://image.prepladder.com/content/2dFXcfTCDEMOZVUOvKiU1725510816.png\" width=\"200\"/></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>This is also under the <em>Ministry of Health and Family Welfare.</em></li>\n<li>Initiative: <span class=\"customMeta\" data-dictid=\"116e588c7b1692777202c7f3040428\">Zero</span> preventable <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> and <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> deaths.</li>\n<li>Beneficiaries:\n\t\t\t\t<ul>\n<li>Pregnant women during the <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> period</li>\n<li>Women during delivery</li>\n<li>Women up to 6 months post-delivery</li>\n<li>Sick neonates</li>\n</ul>\n</li>\n<li>Total number of services provided- 18</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Maa Programme (Mother's Absolute Affection) (Option D)</strong></p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"249\" src=\"https://image.prepladder.com/content/ufHaQvxYpFq3ZMxExKBV1725510737.png\" width=\"160\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:534px\">\n<ul>\n<li>Aim- To promote breastfeeding.</li>\n<li>Under the <em>Ministry of Health and Family Welfare.</em></li>\n<li>Functions:\n\t\t\t\t<ul>\n<li>Lactation counselling and <span class=\"customMeta\" data-dictid=\"5af45ba59c16927771837f3aa7b6d9\">breastfeeding</span> initiations.</li>\n<li>Stimulation and expression support through electric breast pumps</li>\n<li>Collection, storage, processing and dispensing of donor human milk</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/YYpCJtYh87G05VSqbffb1743419043.mp3", "video": ""}, {"text": "6x6x6 strategy is related to?", "options": [{"label": "A", "text": "Anemia mukt bharat", "correct": true}, {"label": "B", "text": "Pradhan mantri poshan shakti nirman", "correct": false}, {"label": "C", "text": "RMNCH + A", "correct": false}, {"label": "D", "text": "Kishori shakti yojana", "correct": false}], "correct_answer": "A. Anemia mukt bharat", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:736px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 INTERVENTIONS</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 STRATEGIES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prophylactic iron-folic acid supplementation.</li>\n<li>Deworming.</li>\n<li>Intensified year-round behaviour change communication campaign (solid body, smart mind), including ensured delayed cord clamping.</li>\n<li>Testing of anaemia using digital methods and point-of-care treatment.</li>\n<li>Mandatory provision of iron <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> fortified foods in <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> programmes.</li>\n<li>Addressing non-nutritional causes of anaemia in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> pockets with a special focus on malaria, hemoglobinopathies, and fluorosis.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>National Anaemia Mukt Bharat Unit.</li>\n<li>Intra-ministerial coordination.</li>\n<li>Strengthening supply chain and logistics.</li>\n<li>Convergence with other ministries.</li>\n<li>National <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> of Excellence and Advanced Research on Anaemia Control.</li>\n<li>Anaemia Mukt Bharat dashboard and digital portal- One-stop shop for anaemia.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 BENEFICIARIES</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Children, 6-59 months of age (Bi-weekly Administer 1 ml of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> <span class=\"customMeta\" data-dictid=\"7cab9109cd16927771994c3125bd23\">syrup</span> containing 20 mg elemental iron and 100 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> per dose)</li>\n<li>Children, 5-9 years of age- pink tablets (Weekly administer one sugar-coated pink <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> containing 45 mg elemental iron and 400 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid)</li>\n<li>Adolescent girls & boys (10-19 years of age)- blue tablets (Weekly administer one sugar-coated blue <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> containing 60 mg elemental iron and 500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid)</li>\n<li>Women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group (20-24 years of age).(Weekly, administer one sugar-coated red <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> containing 60 mg elemental iron and 500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid)</li>\n<li>Pregnant women- Red tablets (180 tablets)<strong>Daily, 1 Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> tablet</strong> should be taken starting from the <strong>fourth month of pregnancy</strong> (second trimester) and continued throughout the pregnancy (for at least <strong>180 days</strong>). Each <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> contains <strong>60 mg elemental iron</strong> and <strong>500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid</strong>, is sugar-coated, and red in color.</li>\n<li>Lactating mothers (of 0-6 months child)- Red tablets .The <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> should also be continued for <strong>180 days post-partum.</strong> Each <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> contains <strong>60 mg elemental iron</strong> and <strong>500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid</strong>, is sugar-coated, and red in color.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/27HXmsn2cl3breFQF7DZ1743419165.mp3", "video": ""}, {"text": "Which international organization collaborated with the Government of India to implement IMNCI?", "options": [{"label": "A", "text": "World Health Organization (WHO)", "correct": true}, {"label": "B", "text": "United Nations Children's Fund (UNICEF)", "correct": false}, {"label": "C", "text": "International Red Cross", "correct": false}, {"label": "D", "text": "Médecins Sans Frontières (MSF)", "correct": false}], "correct_answer": "A. World Health Organization (WHO)", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/egc47CIWz6g1SgjCT0eZ1743419421.mp3", "video": ""}, {"text": "At what age are children screened under the RBSK program?", "options": [{"label": "A", "text": "0-5 years", "correct": false}, {"label": "B", "text": "0-10 years", "correct": false}, {"label": "C", "text": "0-15 years", "correct": false}, {"label": "D", "text": "0-18 years", "correct": true}], "correct_answer": "D. 0-18 years", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:532px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>RBSK</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Launched in 2013.</li>\n<li>Relies on early childhood screening and interventional services.</li>\n<li>Referral Unit/ Early intervention <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">centre</span> - District hospital</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Age group</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>0-6 years- urban or rural slums</li>\n<li>6-18 years- government school-going children</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Secondary level of prevention</p>\n<p>Screening done for 4Ds:</p>\n<ul>\n<li>Diseases</li>\n<li>Defects</li>\n<li>Deficiencies</li>\n<li>Developmental delays</li>\n</ul>\n<p><strong>Referral unit-</strong> District hospital</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Screened by</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mobile teams and this includes:</p>\n<ul>\n<li>Medical officers</li>\n<li>Ayush officers</li>\n<li>Pharmacists</li>\n<li>Lab technicians</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:653px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Defects at birth</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Deficiencies </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Neural tube defects</li>\n<li>Down's syndrome</li>\n<li>Talipes (club foot)</li>\n<li>Developmental <span class=\"customMeta\" data-dictid=\"984733db481692777186757cce6e6b\">dysplasia</span> of the hip</li>\n<li>Congenital cataract</li>\n<li>Congenital deafness</li>\n<li>Congenital heart diseases</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Anemia</li>\n<li>Vitamin A <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> (Bitot spot)</li>\n<li>Vitamin D <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> (rickets)</li>\n<li>Severe <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">Acute</span> malnutrition</li>\n<li>Goitre</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diseases of childhood </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Development delay</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Skin conditions(scabies, fungal and eczema)</li>\n<li>Otitis media</li>\n<li>Rheumatic heart disease</li>\n<li>Reactive <span class=\"customMeta\" data-dictid=\"3b9dd3166f1692777180b697887ccb\">airway</span> disease</li>\n<li>Dental conditions</li>\n<li>Convulsive disorders</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Vision impairment</li>\n<li>Hearing Impairment</li>\n<li>Neuromotor impairment</li>\n<li>Motor delay</li>\n<li>Cognitive delay</li>\n<li>Language delay</li>\n<li>Behavior disorder</li>\n<li>Attention deficit <span class=\"customMeta\" data-dictid=\"2e780c7fd416927771895c61217c12\">hyperactivity</span> disorder</li>\n<li>Sickle cell anemia, beta-thalassemia, <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">Congenital</span> hypothyroidism</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/TRmBFk3mexHA7lZiowPi1743419543.mp3", "video": ""}, {"text": "Which of the following is a specific objective of Navjaat Shishu Suraksha Karyakram (NSSK)?", "options": [{"label": "A", "text": "To promote exclusive breastfeeding practices.", "correct": false}, {"label": "B", "text": "To increase access to prenatal care for expecting mothers.", "correct": false}, {"label": "C", "text": "To improve sanitation facilities in rural healthcare centers.", "correct": false}, {"label": "D", "text": "To prevent Perinatal Asphyxia-Related mortality.", "correct": true}], "correct_answer": "D. To prevent Perinatal Asphyxia-Related mortality.", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/Q8ztuh1MoV7hbNO2YpLc1749208286.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:282px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Navjaat Shishu Suraksha Karyakram(NSSK)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>A training program launched by the Indian Government to equip doctors and nurses with essential <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> care skills, specifically addressing birth asphyxia.</li>\n<li>Training program for medical officers (MOs) and <span class=\"customMeta\" data-dictid=\"ace61c412b1692777182521a0e115a\">auxiliary</span> nurse-midwives (ANMs) is two days long</li>\n<li><strong>The ultimate goal is to reduce <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> mortality and morbidity.</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Goals/Objectives</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Reduce Neonatal Mortality Rate: Decrease India's Neonatal Mortality Rate to single digits by 2030.</li>\n<li>Improve <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">Newborn</span> Care Quality: Enhance the quality of <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> care.</li>\n<li>Prevent <span class=\"customMeta\" data-dictid=\"a0d3680eab1692777195d6ab932b14\">Perinatal</span> Asphyxia-Related Issues: Reduce <span class=\"customMeta\" data-dictid=\"9b7604d5461692777192546af7cabd\">morbidity</span> and mortality <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> to <span class=\"customMeta\" data-dictid=\"a0d3680eab1692777195d6ab932b14\">perinatal</span> asphyxia.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Strategies </strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li><u>Capacity Building</u>: Equip healthcare providers with necessary knowledge and skills.</li>\n<li>Essential <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">Newborn</span> Care and <span class=\"customMeta\" data-dictid=\"d343b06c7f1692777197edaea107af\">Resuscitation</span> Training.</li>\n<li>Updated Curriculum and Training Methodology</li>\n<li><u>Standardized Equipment and Supplies</u>: Provide clean, functional equipment.</li>\n<li><u>Effective Knowledge and Skill Transfer</u>: Improve practical application of training.</li>\n<li><u>Focus on \"Golden Minute\"</u>: Quick assessment and resuscitation. Promoting Clean Birth Practices: Adhere to WHO's \"six cleans\". Kangaroo Mother Care (KMC). Promotion: Encourage KMC for low birth weight babies.</li>\n<li><u>Timely Immunization</u>: Ensure <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> before discharge.</li>\n<li>Educate parents on <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> care.</li>\n<li><u>Effective Neonatal Transport</u>: Establish protocols for the safe transport of sick newborns.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/v4EmoGeNFB60fOOW6Q7p1743419710.mp3", "video": ""}, {"text": "What is the primary objective of the India Newborn Action Plan (INAP)?", "options": [{"label": "A", "text": "To achieve universal healthcare coverage by 2030.", "correct": false}, {"label": "B", "text": "To reduce neonatal mortality rate to single digits by 2030.", "correct": true}, {"label": "C", "text": "To eliminate maternal mortality completely by 2030.", "correct": false}, {"label": "D", "text": "To increase vaccination coverage for children under 5 years old.", "correct": false}], "correct_answer": "B. To reduce neonatal mortality rate to single digits by 2030.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/a6z3eI0rO2JXAMnhqGB71725511252.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:852px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>The India <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">Newborn</span> Action Plan (INAP)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>INAP, launched in June 2014, is a targeted strategy designed to reduce preventable <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> deaths and stillbirths in India. Developed in response to the global Every <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">Newborn</span> Action Plan (ENAP), INAP identifies <span class=\"customMeta\" data-dictid=\"a9dcc16be01692777187410eac8a4a\">evidence-based</span> interventions to lower <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> and <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> mortality rates.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Objectives and Goals</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Strategies to Achieve Goals</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>Single <span class=\"customMeta\" data-dictid=\"02e6b5c95316927771867eba7818b1\">Digit</span> <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">Neonatal</span> Mortality Rate by 2030: Achieve <10 deaths per 1,000 live births.</li>\n<li>Stillbirth Rate by 2030: Target <10 stillbirths per 1,000 total births.</li>\n</ul>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"381\" src=\"https://image.prepladder.com/content/a6z3eI0rO2JXAMnhqGB71725511252.png\" width=\"374\"/></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>RMNCH+A Framework: Implement within the existing healthcare framework.</li>\n<li><u>Six Intervention Packages</u>: Cover all life stages of newborns.\n\t\t\t\t<ul>\n<li>Preconception and <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> care</li>\n<li>Care during labor and childbirth</li>\n<li>Immediate <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> care</li>\n<li>Care of the healthy newborn</li>\n<li>Care of the small and sick newborn</li>\n<li>Care beyond <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> survival</li>\n</ul>\n</li>\n<li><u>Strategic Intervention Packages</u>: Categorize interventions as essential, situational, and advanced.</li>\n<li><u>State-Specific Action Plans:</u> Encourage tailored plans based on intervention packages.</li>\n<li><u>High Intervention Coverage</u>: To prevent a significant proportion of <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> deaths, stillbirths, and <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> deaths by 2025.</li>\n<li><u>Monitoring and Evaluation</u>: <span class=\"customMeta\" data-dictid=\"686725cf89169277719994d7d523d1\">Systematic</span> <span class=\"customMeta\" data-dictid=\"ebb0986d331692777200ab09e1b2e8\">tracking</span> and dashboard indicators for progress.</li>\n<li><u>Comprehensive Assessment</u>: Conduct a thorough evaluation in 2020 to inform future strategies.</li>\n<li><u>Periodic Reviews</u>: Review milestones every five years aligned with ENAP timelines.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/34h8fXPUWxNqC8BruKu91743419949.mp3", "video": ""}, {"text": "What is the primary focus area of the Rashtriya Kishor Swasthya Karyakram?", "options": [{"label": "A", "text": "Reproductive and sexual health education only.", "correct": false}, {"label": "B", "text": "Comprehensive health care along with reproductive and sexual health.", "correct": true}, {"label": "C", "text": "Exclusive focus on non-communicable disease prevention.", "correct": false}, {"label": "D", "text": "Augmentation of facility-based services for maternal health.", "correct": false}], "correct_answer": "B. Comprehensive health care along with reproductive and sexual health.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/ZAqMzvsjSN2Iyla3jhPy1725511340.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:590px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Rashtriya Kishor Swasthya Karyakram</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>India's first comprehensive adolescent health program</li>\n<li>Launched in January 2014, this initiative targets 253 million adolescents across India in their own environments.</li>\n<li>It introduces peer-led interventions within communities, complemented by improved facility-based services.</li>\n<li>The initiative expands the scope of adolescent health beyond <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> and sexual health.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Target Group</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Adolescents 10-19 years of age in Urban and rural areas</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Focus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>Girls and Boys; Married and Unmarried; In School and Out of school</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>7 Critical Components (7Cs) </strong></p>\n<ul>\n<li>Coverage</li>\n<li>Content</li>\n<li>Communities</li>\n<li>Clinics</li>\n<li>Counseling</li>\n<li>Communication</li>\n</ul>\n<p><strong>6 Strategic Priorities </strong></p>\n<ul>\n<li>Nutrition</li>\n<li>Sexual and <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> health (SRH)</li>\n<li>Non-communicable diseases (NCDs)</li>\n<li>Substance misuse</li>\n<li>Injuries and violence(+ gender-based violence)</li>\n<li>Mental health-Peer Education Programme plays a key role in addressing adolescent health issues through trained Peer Educators, called \"Saathiyas.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/iaQ0eigJdexQvDrLcruT1743420119.mp3", "video": ""}, {"text": "Which of the following is the comprehensive program the Ministry of Women and Child Development launched to combat trafficking?", "options": [{"label": "A", "text": "Ujjawala scheme", "correct": true}, {"label": "B", "text": "Ujjwala Yojana", "correct": false}, {"label": "C", "text": "UJALA scheme", "correct": false}, {"label": "D", "text": "Saubhagya Scheme", "correct": false}], "correct_answer": "A. Ujjawala scheme", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/nIY8XO0EYbtoWsENG2nx1725511487.png", "https://image.prepladder.com/content/FwAuQAs2JXEDh0Kuvamx1725511582.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:652px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>The Ujjawala scheme</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>The Ujjawala scheme, launched in India on December 4, 2007, by the <em>Ministry of Women and Child Development,</em> is a comprehensive program to combat trafficking. The scheme is primarily implemented through NGOs.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Objectives/Goals</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Strategies to Achieve Goals</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Prevention </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Formation of community <span class=\"customMeta\" data-dictid=\"22dfc61af7169277720276504784ca\">vigilance</span> and adolescent groups, awareness creation</li>\n<li>preparation of IEC (Information, Education, Communication) material, organization of workshops.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Rescue</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Safe withdrawal of victims from the place of exploitation.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Rehabilitation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Providing safe shelter, basic amenities, medical care, legal aid, vocational training, and employment opportunities to victims.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Reintegration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Supporting victims in their <span class=\"customMeta\" data-dictid=\"fb7fc21dd21692777197b8e47bb620\">reintegration</span> into society.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Repatriation </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>Providing support to cross-border victims for their safe return to their home countries.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xAK88z8URo1h29afHYWw1743420316.mp3", "video": ""}, {"text": "Which of the following is NOT a key activity under the Menstrual Hygiene Scheme?", "options": [{"label": "A", "text": "Community-based health education and outreach to promote menstrual health.", "correct": false}, {"label": "B", "text": "Providing free school uniforms to adolescent girls.", "correct": true}, {"label": "C", "text": "Ensuring regular availability of sanitary napkins to adolescents.", "correct": false}, {"label": "D", "text": "Training of ASHA and nodal teachers in menstrual health.", "correct": false}], "correct_answer": "B. Providing free school uniforms to adolescent girls.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:675px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective</strong>:</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Promotion of <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> <span class=\"customMeta\" data-dictid=\"15fa752a4f1692777189fe275abf3f\">hygiene</span> among adolescent girls aged 10-19 years in rural areas.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Aims:</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>To ensure girls have adequate knowledge and information about <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> hygiene.</li>\n<li>Provide access to high-quality <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> napkins and safe disposal mechanisms.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Key Activities:</strong></p>\n<ul>\n<li>Community-Based Health Education and Outreach for Promoting <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> health in the target population <strong>(Option A)</strong><strong>.</strong></li>\n<li>Availability of <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">Sanitary</span> Napkins regularly to adolescents <strong>(Option C)</strong><strong>.</strong></li>\n<li>Sourcing and Procuring <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> napkins.</li>\n<li>Storage and Distribution of <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> napkins to adolescent girls.</li>\n<li>Train <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> and nodal teachers in <span class=\"customMeta\" data-dictid=\"3a03cad6c616927771925038b55989\">menstrual</span> health <strong>(Option D)</strong><strong>.</strong></li>\n<li>Implement safe disposal mechanisms for <span class=\"customMeta\" data-dictid=\"601fb1538a16927771987048f6e712\">sanitary</span> napkins.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Gb6FoGDHfDTAnhmFgvNu1743420624.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 24 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "The World Health Organization (WHO) has defined blindness as a condition where the level of visual acuity is below", "options": [{"label": "A", "text": "6/60", "correct": false}, {"label": "B", "text": "3/60", "correct": true}, {"label": "C", "text": "1/60", "correct": false}, {"label": "D", "text": "6/18", "correct": false}], "correct_answer": "B. 3/60", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>WHO Classification of Visual Impairment</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<ul>\n<li>The World Health Organization (WHO) defines <span class=\"customMeta\" data-dictid=\"cf284485b71692777183c57876bed2\">blindness</span> as <strong>\"visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> of less than 3/60 (Snellen) or its equivalent\".</strong></li>\n<li>The International Classification of Disease 11 (2018) classifies vision <span class=\"customMeta\" data-dictid=\"4885d5d0021692777189aac6dc80f7\">impairment</span> into distance and near-presenting vision impairment</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Classification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Visual Acuity</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Mild Distance Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 6/12</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Moderate Distance Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 6/18 <strong>(Option D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Severe Distance Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 6/60 <strong>(Option A ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Blindness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Presenting visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than 3/60 <strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Near Vision Impairment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Presenting near vision <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> worse than N6 or M0.8 at 40 cm with existing <span class=\"customMeta\" data-dictid=\"92a52a7756169277718538d58fe1a9\">correction</span> <strong>(Option C ruled out)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to the guidelines of the National Tuberculosis Elimination Program (NTEP), what would be the criteria to designate a district as a high priority district based on the prevalence of HIV TB?", "options": [{"label": "A", "text": "&gt;10%", "correct": true}, {"label": "B", "text": "&gt;12%", "correct": false}, {"label": "C", "text": "&gt;15%", "correct": false}, {"label": "D", "text": "&gt;20%", "correct": false}], "correct_answer": "A. >10%", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which disease is targeted under the National Vector Borne Disease Control Program, with the insect depicted below acting as the vector?", "options": [{"label": "A", "text": "Chikungunya", "correct": false}, {"label": "B", "text": "Visceral leishmaniasis", "correct": false}, {"label": "C", "text": "Malayan filariasis", "correct": false}, {"label": "D", "text": "Japanese encephalitis", "correct": true}], "correct_answer": "D. Japanese encephalitis", "question_images": ["https://image.prepladder.com/content/IHMrWKybgnXLSDAqOGnu1745906802.png"], "explanation_images": ["https://image.prepladder.com/content/hei2kixUn0qdrjX4SV4b1745906846.png", "https://image.prepladder.com/notes/84Gg2bSb5dxBoJtnUsKr1747723741.png", "https://image.prepladder.com/notes/WGam1MffMxCKyii1nZNF1747723819.png", "https://image.prepladder.com/notes/EtLyVMmSE844SNKIooqm1747723925.png", "https://image.prepladder.com/notes/VUAiT8HHT9Kl1K1suyye1747723972.png"], "explanation": "<p>Correct Answer D - Japanese encephalitis:</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Disease</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Anopheles</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Malaria</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Aedes</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Dengue & chikungunya</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Culex</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Japanese encephalitis: Culex quinquefasciatus/ Culex fatigans</li>\n<li>Filariasis: Culex tritaeniorhynchus, Culex vishnui</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Sandfly</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Kala-azar</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the Ayushman Bharat scheme, what is the annual health insurance coverage offered to a qualifying family?", "options": [{"label": "A", "text": "5 lakhs per family per year", "correct": true}, {"label": "B", "text": "4 lakhs per family per year", "correct": false}, {"label": "C", "text": "6 lakhs per family per year", "correct": false}, {"label": "D", "text": "3 lakhs per family per year", "correct": false}], "correct_answer": "A. 5 lakhs per family per year", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hkMmxoEUZs8QvV956FCg1745908260.png"], "explanation": "<p>Correct Answer A - 5 lakh\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which organization is not involved in providing funding for India's national TB program?", "options": [{"label": "A", "text": "Government of India", "correct": false}, {"label": "B", "text": "World Bank", "correct": false}, {"label": "C", "text": "Global Fund", "correct": false}, {"label": "D", "text": "UNICEF", "correct": true}], "correct_answer": "D. UNICEF", "question_images": [], "explanation_images": ["https://image.prepladder.com/notes/p2vor8r2dMtDAa6dEJH01747918297.png"], "explanation": "<p>Correct Answer D - UNICEF\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which antigen is present in the Hepatitis B subunit vaccine?", "options": [{"label": "A", "text": "HbeAg", "correct": false}, {"label": "B", "text": "HbsAg", "correct": true}, {"label": "C", "text": "HbcAg", "correct": false}, {"label": "D", "text": "HBV DNA", "correct": false}], "correct_answer": "B. HbsAg", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is included in the Pentavalent vaccine?", "options": [{"label": "A", "text": "Diphtheria, Pertussis, Tetanus, HBV, Injectable Polio", "correct": false}, {"label": "B", "text": "Diphtheria, Pertussis, Typhoid, HBV, Hib", "correct": false}, {"label": "C", "text": "Diphtheria, Pertussis, Tetanus, Haemophilus influenza B, Pneumococcal vaccine", "correct": false}, {"label": "D", "text": "Diphtheria, Tetanus, HBV, Haemophilus influenza B, Pertussis", "correct": true}], "correct_answer": "D. Diphtheria, Tetanus, HBV, Haemophilus influenza B, Pertussis", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which vaccine is linked to the risk of intussusception when administered?", "options": [{"label": "A", "text": "Rotavirus vaccine", "correct": true}, {"label": "B", "text": "Oral Polio vaccine", "correct": false}, {"label": "C", "text": "Adenovirus vaccine", "correct": false}, {"label": "D", "text": "Measles vaccine", "correct": false}], "correct_answer": "A. Rotavirus vaccine", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following diseases is not included in the RBSK screening?", "options": [{"label": "A", "text": "Congenital cataract", "correct": false}, {"label": "B", "text": "Congenital glaucoma", "correct": true}, {"label": "C", "text": "ROP", "correct": false}, {"label": "D", "text": "Vitamin A deficiency", "correct": false}], "correct_answer": "B. Congenital glaucoma", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - <span class=\"customMeta\" data-dictid=\"488a4efe7d16927771840c9e29f164\">Congenital</span> glaucoma</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Program</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rashtriya <span class=\"customMeta\" data-dictid=\"eff14f005f16927771826bf88cb6c5\">Bal</span> Swasthya Karyakram (RBSK)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Launched</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2013 under the National Health Mission</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Objective</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Improve child health through early identification, screening, and management of health conditions among children aged 0 to 18 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Target Conditions (4Ds)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Defects at Birth</strong>: Examples include <span class=\"customMeta\" data-dictid=\"7aa38569251692777184021705e8de\">cleft</span> lip/palate, Down syndrome</p>\n<p><strong>Diseases</strong>: Examples include rheumatic heart disease</p>\n<p><strong>Deficiencies</strong>: Examples include anemia, <span class=\"customMeta\" data-dictid=\"4941f0477a1692777202923cd79e22\">Vitamin A</span> deficiency</p>\n<p><strong>Developmental Delays including Disabilities</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Screening Teams</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Mobile health teams comprising a medical officer, staff nurse, and pharmacist</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Screening Locations</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Schools, Anganwadi centers, and homes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Referral System</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>District Early Intervention Centers (DEICs) for further management</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Significance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Improves early <span class=\"customMeta\" data-dictid=\"723fdec66b1692777186e92f0c6fdf\">detection</span> and management of child health issues, reducing <span class=\"customMeta\" data-dictid=\"9b7604d5461692777192546af7cabd\">morbidity</span> and enhancing quality of life</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following populations is not included in the HIV sentinel surveillance?", "options": [{"label": "A", "text": "Single male migrants", "correct": false}, {"label": "B", "text": "Truck drivers", "correct": false}, {"label": "C", "text": "STD clinic attendees", "correct": true}, {"label": "D", "text": "Antenatal woman", "correct": false}], "correct_answer": "C. STD clinic attendees", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - <span class=\"customMeta\" data-dictid=\"cc122cedfb16927771990dec246d08\">STD</span> clinic attendees.</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Objective</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Monitor trends in <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> prevalence, guide <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> interventions, and identify high-risk populations.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sentinel Sites</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Specific locations for surveillance, including <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> clinics, <span class=\"customMeta\" data-dictid=\"cc122cedfb16927771990dec246d08\">STD</span> clinics, and high-risk community settings.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Populations Included</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Antenatal Women</strong>: To estimate <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> in the general population.</p>\n<p><strong>High-Risk Groups</strong>: Female sex workers (FSWs), <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">men</span> who have sex with <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">men</span> (MSM), injecting drug users (IDUs).</p>\n<p><strong>Bridge Populations</strong>: Truck drivers, single male migrants.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Data Collected</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>HIV Prevalence</strong>: Percentage of individuals in the group who are HIV-positive.</p>\n<p><strong>Demographic Information</strong>: Age, gender, occupation, etc.</p>\n<p><strong>Risk Behavior</strong>: Sexual behavior, drug use, and other <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> transmission risk factors.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Key Features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Regular blood sample collection.</p>\n<p>HIV testing conducted in <span class=\"customMeta\" data-dictid=\"f08132bdfb16927771986a66c5d7b6\">sentinel</span> sites.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Exclusions</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>STD clinic attendees may not be included as their data overlaps with other high-risk groups.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Importance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Tracks <span class=\"customMeta\" data-dictid=\"fa9d83d3d41692777189a8b393dd60\">HIV</span> trends over time.</p>\n<p>Guides the allocation of resources.</p>\n<p>Helps design targeted prevention programs for at-risk populations.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which statement accurately describes the Nikshay Poshan Yojana program?", "options": [{"label": "A", "text": "Rs 500 is given per week", "correct": false}, {"label": "B", "text": "Rs 500 is given per month", "correct": true}, {"label": "C", "text": "Mid day meals are given", "correct": false}, {"label": "D", "text": "Dietary advice is given", "correct": false}], "correct_answer": "B. Rs 500 is given per month", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As a medical officer at a Primary Health Center (PHC), what would be your recommendation for mass prophylaxis/treatment of anemia?", "options": [{"label": "A", "text": "FeS04 + Vit C + Folate + Vit B12", "correct": true}, {"label": "B", "text": "Iron (Ill) hydroxide polymaltose", "correct": false}, {"label": "C", "text": "Ferrous fumarate", "correct": false}, {"label": "D", "text": "Inj. iron sucrose", "correct": false}], "correct_answer": "A. FeS04 + Vit C + Folate + Vit B12", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Identify the logo?", "options": [{"label": "A", "text": "Leprosy", "correct": true}, {"label": "B", "text": "TB", "correct": false}, {"label": "C", "text": "Malaria", "correct": false}, {"label": "D", "text": "HIV", "correct": false}], "correct_answer": "A. Leprosy", "question_images": ["https://image.prepladder.com/content/b8jiZ3ZL69L0VxO4nccK1724850066.png"], "explanation_images": ["https://image.prepladder.com/content/MFmMPX5TU4NRzuosEPs51724850086.png"], "explanation": "<p>Correct Option A - L\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Identify the given logo below?", "options": [{"label": "A", "text": "AGMARK", "correct": false}, {"label": "B", "text": "Bureau of Indian standards", "correct": true}, {"label": "C", "text": "Food corporation of India", "correct": false}, {"label": "D", "text": "GST", "correct": false}], "correct_answer": "B. Bureau of Indian standards", "question_images": ["https://image.prepladder.com/content/JOYbiMlng6FpxyriYTHw1746768342.png"], "explanation_images": ["https://image.prepladder.com/content/njNIO7kRbSTCqmKAoVlL1746768469.png", "https://image.prepladder.com/content/qfLwr9X4BA6TObA4Prd91746768477.png", "https://image.prepladder.com/content/GUzahyqJ274xwUSybg6x1746768486.png", "https://image.prepladder.com/content/YtZnM4FwN3dgLp4rPFZd1746768500.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>LOGO</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>DESCRIPTION</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<figure class=\"caption_element\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"508\" src=\"https://image.prepladder.com/content/njNIO7kRbSTCqmKAoVlL1746768469.png\" width=\"461\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n<p style=\"text-align:center\">(A)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Food Safety and Standards Authority of India (FSSAI)</strong></li>\n<li>Headquarters: New Delhi</li>\n<li>Ministry: <em>Health and Family Welfare</em></li>\n<li>Provides national food standards for products</li>\n<li>Adopts standards from CODEX ALIMENTARIUS by WHO and FAO (WHO Headquarters: Geneva; FAO Headquarters: Rome)</li>\n<li>Recently launched the Eat Right Campaign</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<figure class=\"caption_element\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"346\" src=\"https://image.prepladder.com/content/qfLwr9X4BA6TObA4Prd91746768477.png\" width=\"417\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n<p style=\"text-align:center\">(B)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Bureau of Indian Standards</strong></li>\n<li>Ministry: <em>Ministry of Consumer affairs</em></li>\n<li>PFA (Prevention of Food Adulteration) provides the Minimum quality of food products.</li>\n<li>BIS provides quality above the minimum standards of food products.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<figure class=\"caption_element\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"450\" src=\"https://image.prepladder.com/content/GUzahyqJ274xwUSybg6x1746768486.png\" width=\"461\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n<p style=\"text-align:center\">(C)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Fruit Product/Process Order.</strong></li>\n<li>The <em>Ministry of Food Processing Industries</em> has created an online system for licensing and monitoring all activities related to the enforcement and administration of FPO.</li>\n<li>Regulates the quality of tinned fruit juices and tinned fruit cans.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"413\" src=\"https://image.prepladder.com/content/YtZnM4FwN3dgLp4rPFZd1746768500.png\" width=\"461\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n<p style=\"text-align:center\">(D)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>This is administered by the Directorate of Marketing and Inspection (DMI) under the <em>Ministry of Agriculture and Farmers Welfare </em>for agricultural products.</li>\n<li><strong>AGMARK </strong>is a certification mark indicating that agricultural produce meets a <span class=\"customMeta\" data-dictid=\"d4ae50897e16927771884b5c46ba7d\">grade</span> standard specified by DMI</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A researcher who was studying on plasmodium species decided to visit the malaria-endemic place in Odisha after 2 days to do his clinical study for 5 weeks. Which of the following drugs need to be taken as prophylaxis before visiting the malaria-endemic place?", "options": [{"label": "A", "text": "Artesunate", "correct": false}, {"label": "B", "text": "Mefloquine", "correct": false}, {"label": "C", "text": "Doxycycline", "correct": true}, {"label": "D", "text": "Chloramphenicol", "correct": false}], "correct_answer": "C. Doxycycline", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Short-term prophylaxis</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Long-term prophylaxis</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Duration of Rx</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>< 6 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>> 6 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>DOC</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Doxycycline 100 mg daily <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Mefloquine 250 mg weekly <strong>(Option B ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Prophylaxis period</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Before travel</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1-2 days</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2-3 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>After travel</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4 weeks</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the quickest method for laboratory diagnosis of pulmonary tuberculosis?", "options": [{"label": "A", "text": "CB-NAAT", "correct": true}, {"label": "B", "text": "Sputum microscopy", "correct": false}, {"label": "C", "text": "Sputum culture", "correct": false}, {"label": "D", "text": "Radiometric BACTEC method", "correct": false}], "correct_answer": "A. CB-NAAT", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Diagnostic Modality</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Usage</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sputum Smear Microscopy (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Microscopic examination of <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> samples to detect <span class=\"customMeta\" data-dictid=\"440f2b916316927771808b8ad44a64\">acid-fast</span> <span class=\"customMeta\" data-dictid=\"fe0005a48b1692777182143f69e1d5\">bacilli</span> (AFB).</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used for initial screening and diagnosis, especially in resource-limited settings.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Chest X-ray</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Imaging done to identify abnormalities suggestive of TB.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used to support diagnosis when clinical suspicion is high; not <span class=\"customMeta\" data-dictid=\"32b854324a1692777185c6c79fdc99\">definitive</span> for TB diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>TruNAAT/CBNAAT (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Molecular tests that detect Mycobacterial DNA and <span class=\"customMeta\" data-dictid=\"6cd890fc7416927771978562618db8\">rifampicin</span> resistance.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recommended for initial diagnosis due to high sensitivity and specificity; rapid results.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Line Probe Assay (LPA)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Molecular test to detect specific genetic mutations associated with <span class=\"customMeta\" data-dictid=\"36f0ccd0621692777186c1c3cecf48\">drug resistance</span> (e.g., rifampicin, isoniazid).</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used for detecting <span class=\"customMeta\" data-dictid=\"36f0ccd0621692777186c1c3cecf48\">drug resistance</span> in confirmed TB cases, not for initial diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tuberculin Skin Test (TST)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>A skin test to measure <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> to <span class=\"customMeta\" data-dictid=\"6a367ebd0c169277719091155a5b0f\">injected</span> <span class=\"customMeta\" data-dictid=\"0fe92012341692777201bab3db39b1\">tuberculin</span> protein.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Primarily used for screening <span class=\"customMeta\" data-dictid=\"cec2565ecd1692777191eed58869b2\">latent</span> TB infection; not specific for active TB diagnosis.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Interferon-Gamma Release Assays (IGRAs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Blood <span class=\"customMeta\" data-dictid=\"0ac01cc0c31692777185cae5f28175\">cytokine</span> analysis test that measures <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> to TB antigens.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used for detecting <span class=\"customMeta\" data-dictid=\"cec2565ecd1692777191eed58869b2\">latent</span> TB infection</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sputum Culture (Option C ruled out)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Growing Mycobacteria from <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> samples to confirm TB and test for drug susceptibility.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Gold standard for TB diagnosis; takes several weeks to obtain results.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Drug <span class=\"customMeta\" data-dictid=\"6ced8252211692777199ab0cc3f2bb\">Susceptibility</span> Testing (DST)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Testing TB bacteria from patient samples to determine resistance to TB drugs.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used to guide treatment by identifying <span class=\"customMeta\" data-dictid=\"d4c88fcae71692777186aa1c32423a\">drug-resistant</span> strains in confirmed TB cases.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As a medical officer posted in rural service, you have been asked to supervise the various preventive measures being taken in your region against malaria. According to the program whose logo is shown below, you would be correct to advise all of the following except:", "options": [{"label": "A", "text": "Two rounds of spraying with DDT should be done to provide protection during the entire transmission season.", "correct": false}, {"label": "B", "text": "Long lasting insecticide nest (LLIN) should be provided in areas with annual parasite Index 25.", "correct": false}, {"label": "C", "text": "Indoor residual sprays are not suitable for vector control in rural areas.", "correct": true}, {"label": "D", "text": "In case of DDT resistance, 3 rounds of spraying with Malathion should be done to provide protection during the entire transmission season.", "correct": false}], "correct_answer": "C. Indoor residual sprays are not suitable for vector control in rural areas.", "question_images": ["https://image.prepladder.com/content/wRyH9gptvH6tbVHLVy7n1746770370.png"], "explanation_images": ["https://image.prepladder.com/content/7aJLQ2ND8BYYifnJZAe91746770635.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Vector</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Disease</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Anopheles</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Malaria</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Aedes</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Dengue & chikungunya</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Culex</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Japanese encephalitis: Culex quinquefasciatus/ Culex fatigans</li>\n<li>Filariasis: Culex tritaeniorhynchus, Culex vishnui</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align:center\">Sandfly</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Kala-azar</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following diseases are included in the scheme, which has the logo as given below?", "options": [{"label": "A", "text": "CVD, Diabetes, Bronchial asthma", "correct": false}, {"label": "B", "text": "Diabetes, Hypertension, Bronchial asthma", "correct": false}, {"label": "C", "text": "CVD, Cancer, Diabetes, Stroke", "correct": true}, {"label": "D", "text": "Bronchial asthma, Hypertension, CVD", "correct": false}], "correct_answer": "C. CVD, Cancer, Diabetes, Stroke", "question_images": ["https://image.prepladder.com/content/P5e2mrMSxxYPQtxtY5YP1747129546.png"], "explanation_images": [], "explanation": "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top; width:158px\">\n<p style=\"text-align:center\"><strong>Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top; width:605px\">\n<p style=\"text-align:center\"><strong>Initiatives</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:28px; vertical-align:top; width:158px\">\n<p><strong>New Initiatives under NPCDCS</strong></p>\n</td>\n<td rowspan=\"3\" style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:28px; vertical-align:top; width:605px\">\n<ol>\n<li>Intervention for prevention and control of Rheumatic Heart Disease under NPCDCS and Rashtriya Bal Swasthya Karyakram (RBSK).</li>\n<li>Integration of AYUSH with NPCDCS.</li>\n<li>Integration of RNTCP with NPCDCS to articulate a national strategy for management of TB and diabetes comorbidities in India.</li>\n</ol>\n</td>\n</tr>\n<tr>\n</tr>\n<tr>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:158px\">\n<p><strong>Cancer Component under NPCDCS</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:605px\">\n<p>Cancer Services under NPCDCS:</p>\n<ul>\n<li>Providing common <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> services, basic surgery, chemotherapy, and <span class=\"customMeta\" data-dictid=\"8a0b36beb6169277719466e16c52d7\">palliative</span> care for cancer patients at 100 district hospitals.</li>\n<li>Supporting each district with <span class=\"customMeta\" data-dictid=\"8602c4b260169277718439bb122cb0\">chemotherapy</span> drugs for 100 patients, establishing day-care <span class=\"customMeta\" data-dictid=\"8602c4b260169277718439bb122cb0\">chemotherapy</span> facilities, and providing facilities for laboratory investigations, including mammography.</li>\n<li>Offering home-based <span class=\"customMeta\" data-dictid=\"8a0b36beb6169277719466e16c52d7\">palliative</span> care for chronic and progressive cancer patients in 100 districts.</li>\n<li>Designating State Cancer Institutes (SCIs) as <span class=\"customMeta\" data-dictid=\"2d7ea2751316927771816ceb31afee\">apex</span> institutions for comprehensive cancer diagnosis, treatment, and care.</li>\n<li>Strengthening 45 centres as Tertiary Cancer Centres (TCCs) to deliver comprehensive cancer care services.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which organization is involved in intersectoral coordination in the integrated child development services (ICDS)?", "options": [{"label": "A", "text": "NHM", "correct": true}, {"label": "B", "text": "NACO", "correct": false}, {"label": "C", "text": "NLEP", "correct": false}, {"label": "D", "text": "UNDP", "correct": false}], "correct_answer": "A. NHM", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/SdSQLcuYcUcRz2mFRhJH1747134001.jpeg", "https://image.prepladder.com/content/gz8a2Rb5gaLvZh3sQoW31748156841.png"], "explanation": "<p>Correct Option A) NHM </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:605px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Reduce Infant Mortality Rate to 25/1000 live births</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reduce Maternal Mortality Rate to 1/1000 live births</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reduce Total Fertility Rate to 2.1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reduce annual <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> and mortality from TB by half.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Reduce <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of Leprosy to <1/10000 population and <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> to <span class=\"customMeta\" data-dictid=\"116e588c7b1692777202c7f3040428\">zero</span> in all districts<strong> </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Annual <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> to < 1/1000.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><1% <span class=\"customMeta\" data-dictid=\"1e300ef0e21692777192fbb44da080\">microfilaria</span> <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> in all districts.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Eliminate <span class=\"customMeta\" data-dictid=\"a6ac0e2bbf16927771905309bf8e7e\">kala-azar</span> by 2015</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The full form of the Urban HEART programme is:", "options": [{"label": "A", "text": "Urban health equity assessment and response tool", "correct": true}, {"label": "B", "text": "Urban health evaluation assessment and response tool", "correct": false}, {"label": "C", "text": "Urban health equity assessment and response technique", "correct": false}, {"label": "D", "text": "Urban health evaluation assessment and response technique", "correct": false}], "correct_answer": "A. Urban health equity assessment and response tool", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/VMhtuXa67Yvn6fbstsWB1748156710.png"], "explanation": "<p>Correct Option A) Urban health equ\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Please recognize the logo displayed in the provided image", "options": [{"label": "A", "text": "International red cross", "correct": false}, {"label": "B", "text": "Suraksha Clinic", "correct": true}, {"label": "C", "text": "National AIDS control programme", "correct": false}, {"label": "D", "text": "Family planning campaign", "correct": false}], "correct_answer": "B. Suraksha Clinic", "question_images": ["https://image.prepladder.com/content/H4RkKoDoUUnrpVZ0g3jH1748156482.png"], "explanation_images": ["https://image.prepladder.com/content/G0HRawrbltmI2mbjrLF11748156494.png"], "explanation": "<p>Correct Option B) Suraksha C\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is true for DOTS?", "options": [{"label": "A", "text": "Treatment under supervision", "correct": true}, {"label": "B", "text": "Every patient is given the same treatment", "correct": false}, {"label": "C", "text": "Streptomycin is given to all the patients", "correct": false}, {"label": "D", "text": "Daily regimen", "correct": false}], "correct_answer": "A. Treatment under supervision", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A) Treatment under superv\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A' Bacteriologically Confirmed Case' in TB is defined as:", "options": [{"label": "A", "text": "X-ray positive", "correct": false}, {"label": "B", "text": "Sputum positive", "correct": true}, {"label": "C", "text": "Mantoux positive", "correct": false}, {"label": "D", "text": "History of cough", "correct": false}], "correct_answer": "B. Sputum positive", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B) <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">Sputum</span> positive </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Criteria/Features</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Presumptive TB Case</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Used in place of TB suspect</strong>. Individuals showing symptoms suggestive of TB but not yet confirmed.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-Cough, Fever, Night sweats +- Weight loss > 2 weeks <strong>(Option D ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Clinically Diagnosed TB Case </strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Sputum negative but with high clinical suspicion of TB. <strong>Used in place of <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">Sputum</span> negative TB case. </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-Persistent symptoms despite negative <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> smear</p>\n<p>- High clinical suspicion based on symptoms, radiological and <span class=\"customMeta\" data-dictid=\"1e9c8202241692777189dbac6cc062\">histological</span> features <strong>(Option A ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Bacteriologically Confirmed TB Case (Option B)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Biological <span class=\"customMeta\" data-dictid=\"c02ad9ae0f1692777198d76afc93c4\">specimen</span> is positive for <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> AFB and/or CBNAAT. <strong>Used in place of <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">Sputum</span> positive TB case.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>- Positive <span class=\"customMeta\" data-dictid=\"5353537f861692777199e48431cd88\">sputum</span> <span class=\"customMeta\" data-dictid=\"6777533153169277719804fcbbf2d1\">smear</span> for AFB</p>\n<p>- Positive CBNAAT test confirming the presence of TB bacteria</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of blindness does the individual have if their right eye has a visual acuity of 6/60 and their left eye has a visual acuity of 3/60?", "options": [{"label": "A", "text": "Manifest blindness", "correct": false}, {"label": "B", "text": "Social blindness", "correct": false}, {"label": "C", "text": "Low vision", "correct": true}, {"label": "D", "text": "Absence of blindness", "correct": false}], "correct_answer": "C. Low vision", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hJL6UMfFBg3wqZxyGI0z1694515196.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As part of the Anemia Mukt Bharat program, pregnant women with mild to moderate anemia who are less than 34 weeks pregnant are managed with the following treatment approach:", "options": [{"label": "A", "text": "2 iron and folic acid (IFA) tablets OD", "correct": true}, {"label": "B", "text": "IV iron sucrose for noncompliance with oral tablets", "correct": false}, {"label": "C", "text": "2 iron and folic acid tablets OD + IV iron sucrose", "correct": false}, {"label": "D", "text": "IM ferric carboxy maltose (FCM)", "correct": false}], "correct_answer": "A. 2 iron and folic acid (IFA) tablets OD", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:720px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 INTERVENTIONS</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 STRATEGIES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prophylactic iron-folic acid supplementation.</li>\n<li>Deworming.</li>\n<li>Intensified year-round behaviour change communication campaign (solid body, smart mind), including ensured delayed cord clamping.</li>\n<li>Testing of anaemia using digital methods and point-of-care treatment.</li>\n<li>Mandatory provision of iron <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> fortified foods in <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> programmes.</li>\n<li>Addressing non-nutritional causes of anaemia in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> pockets with a special focus on malaria, hemoglobinopathies, and fluorosis.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>National Anaemia Mukt Bharat Unit.</li>\n<li>Intra-ministerial coordination.</li>\n<li>Strengthening supply chain and logistics.</li>\n<li>Convergence with other ministries.</li>\n<li>National <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> of Excellence and Advanced Research on Anaemia Control.</li>\n<li>Anaemia Mukt Bharat dashboard and digital portal- One-stop shop for anaemia.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 BENEFICIARIES</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Children, 6-59 months of age (Bi-weekly Administer 1 ml of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> <span class=\"customMeta\" data-dictid=\"7cab9109cd16927771994c3125bd23\">syrup</span> containing 20 mg elemental iron and 100 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> per dose)</li>\n<li>Children, 5-9 years of age- pink tablets (Weekly administer one sugar-coated pink <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> containing 45 mg elemental iron and 400 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid)</li>\n<li>Adolescent girls & boys (10-19 years of age)- blue tablets (Weekly administer one sugar-coated blue <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> containing 60 mg elemental iron and 500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid)</li>\n<li>Women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group (20-24 years of age).(Weekly, administer one sugar-coated red <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> of Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> containing 60 mg elemental iron and 500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid)</li>\n<li>Pregnant women- Red tablets (180 tablets)<strong>Daily, 1 Iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">Folic Acid</span> tablet</strong> should be taken starting from the <strong>fourth month of pregnancy</strong> (second trimester) and continued throughout the pregnancy (for at least <strong>180 days</strong>). Each <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> contains <strong>60 mg elemental iron</strong> and <strong>500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid</strong>, is sugar-coated, and red in color.</li>\n<li>Lactating mothers (of 0-6 months child)- Red tablets .The <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> should also be continued for <strong>180 days post-partum.</strong> Each <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> contains <strong>60 mg elemental iron</strong> and <strong>500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid</strong>, is sugar-coated, and red in color.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p><strong>References:</strong></p>\n<ul><li>↳ Reference:</li><li>↳ https://nhm.gov.in/index1.php?lang=1&level=3&sublinkid=1448&lid=797 https://pmposhan.education.gov.in/aboutus.html https://nhm.gov.in/images/pdf/programmes/maternal-health/guidelines/5x5_matrix_2502.pdf https://wcd.nic.in/kishori-shakti-yojana</li><li>↳ https://nhm.gov.in/index1.php?lang=1&level=3&sublinkid=1448&lid=797</li><li>↳ https://pmposhan.education.gov.in/aboutus.html</li><li>↳ https://nhm.gov.in/images/pdf/programmes/maternal-health/guidelines/5x5_matrix_2502.pdf</li><li>↳ https://wcd.nic.in/kishori-shakti-yojana</li></u\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What does JSSK stand for?", "options": [{"label": "A", "text": "Janani Shishu Suraksha Karyakram", "correct": true}, {"label": "B", "text": "Janani Shishu Swasthya Karyakram", "correct": false}, {"label": "C", "text": "Janani Shishu Suraksha Kendra]", "correct": false}, {"label": "D", "text": "Janani Shishu Swasthya Kendra", "correct": false}], "correct_answer": "A. Janani Shishu Suraksha Karyakram", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/BQjE3oNwIjJ7mdbwJBcN1724850034.png"], "explanation": "<p>Correct Option A - Janani Shishu Suraksha Karyak\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Identify the image given?", "options": [{"label": "A", "text": "Arohi from HIV", "correct": false}, {"label": "B", "text": "Sapna Leprosy", "correct": true}, {"label": "C", "text": "Meena Unicef", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "B. Sapna Leprosy", "question_images": ["https://image.prepladder.com/content/6Is32rHBzltiE5WJWnTT1724850660.png"], "explanation_images": ["https://image.prepladder.com/content/FCoz0rpYiQ0VX6l4CWJ61724850812.png", "https://image.prepladder.com/content/TIZakscBeHwj1AtHcz8o1724850928.png"], "explanation": "<p>Correct Option B - Sapna L\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which one of the following is NOT included in Ayushman Bharat under school health services?", "options": [{"label": "A", "text": "Providing sanitary pads", "correct": false}, {"label": "B", "text": "Health check-up/screening", "correct": false}, {"label": "C", "text": "Albendazole provision", "correct": false}, {"label": "D", "text": "IFA monthly", "correct": true}], "correct_answer": "D. IFA monthly", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - IFA month\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How much mg of iron and mcg of folic acid should a pregnant woman be given?", "options": [{"label": "A", "text": "60mg/500mcg biweekly", "correct": false}, {"label": "B", "text": "60mg/500mcg weekly", "correct": false}, {"label": "C", "text": "60mg/500mcg daily", "correct": true}, {"label": "D", "text": "60mg/500mcg once a month", "correct": false}], "correct_answer": "C. 60mg/500mcg daily", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Age Group</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Iron Dose & Frequency</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Folic Acid Dose & Frequency</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Infants (6-59 months)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>1 ml IFA <span class=\"customMeta\" data-dictid=\"7cab9109cd16927771994c3125bd23\">syrup</span> (20 mg elemental iron, 100 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> folic acid) biweekly</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Included in <span class=\"customMeta\" data-dictid=\"7cab9109cd16927771994c3125bd23\">syrup</span> (100 mcg) biweekly</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Preschool Children (5-9 years)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>45 mg elemental iron + 400 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> weekly</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Included in <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> (400 mcg) weekly</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Adolescents (10-19 years)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>60 mg elemental iron + 500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> weekly</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Included in <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> (500 mcg) weekly</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>Pregnant & Lactating Women</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>60 mg elemental iron + 500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> daily</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Included in <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> (500 mcg) daily</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Women of Reproductive Age (15-49 years)</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>60 mg elemental iron + 500 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> weekly</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Included in <span class=\"customMeta\" data-dictid=\"508e14a7ca16927772002140ece8fb\">tablet</span> (500 mcg) weekly</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The biological method for Mosquito Larva control is done by?", "options": [{"label": "A", "text": "Spray 3 times a month", "correct": false}, {"label": "B", "text": "Nets to be distributed", "correct": false}, {"label": "C", "text": "Gambusia fish", "correct": true}, {"label": "D", "text": "Repellents", "correct": false}], "correct_answer": "C. Gambusia fish", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Environmental measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Chemical control</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Biological control</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Yield permanent results and source reduction.</p>\n<p> </p>\n<p>E.g.</p>\n<p> </p>\n<ul>\n<li>Filling drains and ditches.</li>\n<li>Levelling of ground.</li>\n<li>Proper <span class=\"customMeta\" data-dictid=\"dd824a31e71692777186c7f8168998\">drainage</span> of <span class=\"customMeta\" data-dictid=\"275662f5c11692777183ab59ae573b\">breeding</span> areas.</li>\n<li>Intermittent irrigation.</li>\n<li>Changing water alkalinity.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Using larvicides</p>\n<p> </p>\n<p>E.g.</p>\n<p> </p>\n<p>1. Physical:</p>\n<ul>\n<li>MLO (Mosquito larvicidal oil): 200L/hectare</li>\n</ul>\n<p>2. Chemical:</p>\n<ul>\n<li>Paris green</li>\n<li>Temephos (Abate): 200L/hectare</li>\n</ul>\n<p>3. IGR (insect growth regulators):</p>\n<ul>\n<li>Inhibit <span class=\"customMeta\" data-dictid=\"b24b4918a916927771844114519396\">chitin</span> formation, <span class=\"customMeta\" data-dictid=\"b8b85a8a841692777192148859c5c8\">moulding</span> and adult maturation.</li>\n<li>Pyriproxyfen and Diflubenzuron</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Larvivorous Fishes:</strong></p>\n<p> </p>\n<p>1. Gambusia and Poecilia fish</p>\n<p>2. Bacillus thuringiensis (used in polluted waters)</p>\n<p>3. Toxorhynchites splendens</p>\n<p>(predator <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> for Aedes and Anopheles)</p>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Check-ups conducted for children aged 9-18 years under Rashtriya Bal Swasthya karyakram is done for every?", "options": [{"label": "A", "text": "Once a year", "correct": false}, {"label": "B", "text": "Once in every three months", "correct": false}, {"label": "C", "text": "Once a month", "correct": false}, {"label": "D", "text": "Semi-annually", "correct": true}], "correct_answer": "D. Semi-annually", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>RBSK</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>Launched in 2013.</li>\n<li>Relies on early childhood screening and interventional services.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Age group</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>0-6 years- urban or rural slums</li>\n<li>6-18 years- government school-going children</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Secondary level of prevention</p>\n<p>Screening done for 4Ds:</p>\n<ul>\n<li>Diseases</li>\n<li>Defects</li>\n<li>Deficiencies</li>\n<li>Developmental delays</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Screened by</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Mobile teams and this includes:</p>\n<ul>\n<li>Medical officers</li>\n<li>Ayush officers</li>\n<li>Pharmacists</li>\n<li>Lab technicians</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 49-year-old man came for a follow-up after recently receiving a new diagnosis and treatment initiation. He is counseled about the Axshya project. Which of the following diseases was this patient diagnosed with?", "options": [{"label": "A", "text": "Tuberculosis", "correct": true}, {"label": "B", "text": "Diabetes", "correct": false}, {"label": "C", "text": "Malaria", "correct": false}, {"label": "D", "text": "Zika infection", "correct": false}], "correct_answer": "A. Tuberculosis", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The Anemia Mukt Bharat program aims to address anemia across India through targeted interventions. Which statement accurately describes its administration of Iron and Folic Acid (IFA) supplementation?", "options": [{"label": "A", "text": "IFA is provided during the 2nd trimester of pregnancy and continues during lactation for up to 6 months", "correct": true}, {"label": "B", "text": "IFA supplementation is administered solely during pregnancy", "correct": false}, {"label": "C", "text": "A 100-day course of IFA supplementation is sufficient", "correct": false}, {"label": "D", "text": "Administering IFA during the 1st trimester is adequate.", "correct": false}], "correct_answer": "A. IFA is provided during the 2nd trimester of pregnancy and continues during lactation for up to 6 months", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/0hsTMjdZ18xkxcd2LURh1747377936.png"], "explanation": "<p>Correct Option A- IFA is provided during the 2nd <span class=\"customMeta\" data-dictid=\"2c20f0f1dd169277720029d29458d5\">trimester</span> of pregnancy and continues during <span class=\"customMeta\" data-dictid=\"4abd8094e51692777191b1eb073735\">lactation</span> for up to 6 month\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the WHO definition of blindness?", "options": [{"label": "A", "text": "6/60", "correct": false}, {"label": "B", "text": "3/60", "correct": true}, {"label": "C", "text": "6/18", "correct": false}, {"label": "D", "text": "1/60", "correct": false}], "correct_answer": "B. 3/60", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B- 3/6\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Paris green dust is commonly used to kill which of the following?", "options": [{"label": "A", "text": "Anopheles larva", "correct": true}, {"label": "B", "text": "Houseflies", "correct": false}, {"label": "C", "text": "Bedbugs", "correct": false}, {"label": "D", "text": "Cockroaches", "correct": false}], "correct_answer": "A. Anopheles larva", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Anopheles larva</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Environmental measures</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Chemical control</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Biological control</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Yield permanent results and source reduction.</p>\n<p>E.g.</p>\n<ul>\n<li>Filling drains and ditches.</li>\n<li>Levelling of ground.</li>\n<li>Proper <span class=\"customMeta\" data-dictid=\"dd824a31e71692777186c7f8168998\">drainage</span> of <span class=\"customMeta\" data-dictid=\"275662f5c11692777183ab59ae573b\">breeding</span> areas.</li>\n<li>Intermittent irrigation.</li>\n<li>Changing water alkalinity.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Using larvicides</p>\n<p>E.g.</p>\n<p>1. Physical:</p>\n<ul>\n<li>MLO (Mosquito larvicidal oil): 200L/hectare</li>\n</ul>\n<p>2. Chemical:</p>\n<ul>\n<li>Paris green</li>\n<li>Temephos (Abate): 200L/hectare</li>\n</ul>\n<p>3. IGR (insect growth regulators):</p>\n<ul>\n<li>Inhibit <span class=\"customMeta\" data-dictid=\"b24b4918a916927771844114519396\">chitin</span> formation, <span class=\"customMeta\" data-dictid=\"b8b85a8a841692777192148859c5c8\">moulding</span> and adult maturation.</li>\n<li>Pyriproxyfen and Diflubenzuron</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Larvivorous Fishes:</strong></p>\n<p>1. Gambusia and Poecilia fish</p>\n<p>2. Bacillus thuringiensis (used in polluted waters)</p>\n<p>3. Toxorhynchites splendens</p>\n<p>(predator <span class=\"customMeta\" data-dictid=\"8fad75f63f1692777192f93996c6ab\">mosquito</span> for Aedes and Anopheles)</p>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is correct regarding Ayushman Bharat scheme?", "options": [{"label": "A", "text": "Rs 5 lakh/per family per year is given", "correct": true}, {"label": "B", "text": "Rs 10 lakh/per family per year is given", "correct": false}, {"label": "C", "text": "Rs 6 lakh/per family per year is given", "correct": false}, {"label": "D", "text": "Rs 2 lakh/per family per year is given", "correct": false}], "correct_answer": "A. Rs 5 lakh/per family per year is given", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Rs 5 lakh/per family per year is giv\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not true about the National Program for Control Blindness and Visual Impairment (NPCB and VI)?", "options": [{"label": "A", "text": "Patients requiring cataract surgeries are selected and asked to report to the base hospital", "correct": false}, {"label": "B", "text": "To perform more small incision cataract surgeries", "correct": false}, {"label": "C", "text": "To perform surgeries in rural areas with makeshift hospitals/OTs", "correct": true}, {"label": "D", "text": "To perform surgeries in fixed facilities by shifting patients from rural areas.", "correct": false}], "correct_answer": "C. To perform surgeries in rural areas with makeshift hospitals/OTs", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/9nHSCveXWUkPSa3S7zxy1745212151.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:630px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438\">\n<p><strong>Tier</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:1px solid #333438\">\n<p><strong>Number of Units</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:1px solid #333438\">\n<p><strong>Population Norms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:1px solid #333438\">\n<p><strong>Components</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Centres of Excellence</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>20</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>1/50 million</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<ul>\n<li>Professional Leadership</li>\n<li>Strategy development</li>\n<li>Continued Medical Education (CME)</li>\n<li>Laying of standards and quality assurance</li>\n<li>Research</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Training Centres </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>200</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>1/5 million</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<ul>\n<li>Tertiary eye care including <span class=\"customMeta\" data-dictid=\"fb7a2c30e416927771972f7df6f8c0\">retinal</span> surgery, corneal transplantation, <span class=\"customMeta\" data-dictid=\"61e49875801692777188ad5edea804\">glaucoma</span> surgery, etc.</li>\n<li>Training and CME</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Service Centres</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>2000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>1/500000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<ul>\n<li>Cataract Surgery</li>\n<li>Other common eye surgeries</li>\n<li>Facilities for refraction</li>\n<li>Referral services</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:none\">\n<p><strong>Vision Centres </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>20,000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<p>1/50000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:none; border-right:1px solid #333438; border-top:none\">\n<ul>\n<li>Refraction and prescription of glasses</li>\n<li>Primary eye care</li>\n<li>School eye screening programme</li>\n<li>Screening and referral services</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "School health program is under:", "options": [{"label": "A", "text": "PHC", "correct": true}, {"label": "B", "text": "CHC", "correct": false}, {"label": "C", "text": "DH", "correct": false}, {"label": "D", "text": "Health and wellness centres", "correct": false}], "correct_answer": "A. PHC", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the context of a national public health initiative aimed at addressing anemia, which of the following programs follows the \"6x6x6 strategy\"?", "options": [{"label": "A", "text": "Anemia mukt bharat", "correct": true}, {"label": "B", "text": "Poshan Abhiyan", "correct": false}, {"label": "C", "text": "Kishori Shakti Yojana", "correct": false}, {"label": "D", "text": "None of these", "correct": false}], "correct_answer": "A. Anemia mukt bharat", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which government program aims to provide health checkups and services for children aged 0-18, including a focus on those not attending school?", "options": [{"label": "A", "text": "Rashtriya Bal Swasthya Karyakaram", "correct": true}, {"label": "B", "text": "Janani Suraksha Yojna", "correct": false}, {"label": "C", "text": "Navjaat Shishu Suraksha Karyakaram", "correct": false}, {"label": "D", "text": "Mid day meal program", "correct": false}], "correct_answer": "A. Rashtriya Bal Swasthya Karyakaram", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 10-year-old school-going girl came for a health checkup. Her Hb is 9 g/dL. Which of the following government programs is likely to provide significant benefit to her health?", "options": [{"label": "A", "text": "Rashtriya bal swasthya karyakram", "correct": true}, {"label": "B", "text": "Janani suraksha Yojana", "correct": false}, {"label": "C", "text": "Pradhan Mantri Matru Vandana Yojana", "correct": false}, {"label": "D", "text": "Navjat Shishu Karyakram Yojana", "correct": false}], "correct_answer": "A. Rashtriya bal swasthya karyakram", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The proposal to control malaria in towns named as Urban Malaria Scheme. According to Urban Malaria Scheme, Which of the following is not true?", "options": [{"label": "A", "text": "SPR between 5% and 10%", "correct": false}, {"label": "B", "text": "Slide positivity rate more than 10%", "correct": true}, {"label": "C", "text": "Scheme is not based on blood examination", "correct": false}, {"label": "D", "text": "Towns having a population more than 10,000", "correct": false}], "correct_answer": "B. Slide positivity rate more than 10%", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Slide positivity rate more than 10%\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 30-year-old male truck driver visited to the clinic with fever, skin rash, swollen glands and fatigue. The physician referred him to suraksha clinic. Which among the following is included in provision of services at Suraksha Clinic ?", "options": [{"label": "A", "text": "Immunization services", "correct": false}, {"label": "B", "text": "Blood transfusion safety services", "correct": false}, {"label": "C", "text": "RTI/ STI services", "correct": true}, {"label": "D", "text": "Diarrhea control services", "correct": false}], "correct_answer": "C. RTI/ STI services", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - RTI/ <span class=\"customMeta\" data-dictid=\"1bb30b4815169277719923969b1a56\">STI</span> serv\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Ujjawala scheme is for prevention of?", "options": [{"label": "A", "text": "Child abuse", "correct": false}, {"label": "B", "text": "Child trafficking", "correct": true}, {"label": "C", "text": "Child labour", "correct": false}, {"label": "D", "text": "Child marriage", "correct": false}], "correct_answer": "B. Child trafficking", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Child trafficking\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Peripheral blood smear sample for malaria is done by?", "options": [{"label": "A", "text": "Pharmacist", "correct": false}, {"label": "B", "text": "ANM", "correct": false}, {"label": "C", "text": "Medical officer", "correct": false}, {"label": "D", "text": "Laboratory technician", "correct": true}], "correct_answer": "D. Laboratory technician", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Laboratory tech\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a rural village , a government school conducted a comprehensive health check-up for all its students. According to Vision 2020 , which of the following centre will the teacher refer school children to in order to check their visual acuity?", "options": [{"label": "A", "text": "Service centre", "correct": false}, {"label": "B", "text": "Training centre", "correct": false}, {"label": "C", "text": "Centre for excellence", "correct": false}, {"label": "D", "text": "Vision centre", "correct": true}], "correct_answer": "D. Vision centre", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D -V\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td style=\"text-align:center\"><strong>Health Care Level</strong></td>\n<td style=\"text-align:center\"><strong>Proposed Structure</strong></td>\n<td style=\"text-align:center\"><strong>Services Provided</strong></td>\n</tr>\n<tr>\n<td>Primary (1 per 50,000)</td>\n<td>Vision centers - 20000 (paramedic <span class=\"customMeta\" data-dictid=\"c09776e61f1692777194db295c590f\">ophthalmic</span> assistant)</td>\n<td>\n<ul>\n<li>Primary eye care</li>\n<li>School eye screening</li>\n<li>Refraction test and prescription of glass</li>\n<li>Screening and referral</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>Secondary (1 per 5,00,000)</td>\n<td>Service centers - 2000 (ophthalmologist)</td>\n<td>\n<ul>\n<li>Facility for refraction, <span class=\"customMeta\" data-dictid=\"781e6a5a991692777183252720baad\">cataract</span> and other common surgery referrals</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>Tertiary (1 per 5 million)</td>\n<td>Training centers - 200 (medical College)</td>\n<td>\n<ul>\n<li>Retinal surgery</li>\n<li>Corneal transplantation</li>\n<li>Glaucoma </li>\n<li>Surgery</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>Next Level (1 per 50 million)</td>\n<td>Centers for excellence -20</td>\n<td>\n<ul>\n<li>Professional leadership, strategy making, CME, laying standards, and quality assurance and research</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which group is excluded from targeted interventions, a specific set of services and interventions provided to individuals in the population who are at high risk of or have reported high risk of HIV?", "options": [{"label": "A", "text": "Migrant labourers", "correct": false}, {"label": "B", "text": "Street children", "correct": false}, {"label": "C", "text": "Long distance truckers", "correct": false}, {"label": "D", "text": "Doctors and nursing professionals", "correct": true}], "correct_answer": "D. Doctors and nursing professionals", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Doctors and <span class=\"customMeta\" data-dictid=\"6f686e0c91169277719346f95361c8\">nursing</span> professionals: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the CD4 cut off for initiating Antiretroviral Therapy (ART) in the treatment of AIDS?", "options": [{"label": "A", "text": "200", "correct": false}, {"label": "B", "text": "350", "correct": false}, {"label": "C", "text": "500", "correct": false}, {"label": "D", "text": "No cut-off", "correct": true}], "correct_answer": "D. No cut-off", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - No cu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Under which program does the improvement of labor room quality fall in?", "options": [{"label": "A", "text": "LaQshya", "correct": true}, {"label": "B", "text": "Ayushman Bharat", "correct": false}, {"label": "C", "text": "Janani Shishu Suraksha Karyakram", "correct": false}, {"label": "D", "text": "Pradhan Mantri Surakshit Matritva Abhiyan", "correct": false}], "correct_answer": "A. LaQshya", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/c0G2e9NBOLEm1RkPXvcl1715061481.png"], "explanation": "<p>Correct Option A - LaQsh\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the name of the recently introduced online software by the Indian government, as part of the national tuberculosis elimination program (NTEP), for the purpose of monitoring patients with tuberculosis?", "options": [{"label": "A", "text": "NIKSHAY", "correct": true}, {"label": "B", "text": "NISCHAY", "correct": false}, {"label": "C", "text": "E-DOTS", "correct": false}, {"label": "D", "text": "NIKUSTH", "correct": false}], "correct_answer": "A. NIKSHAY", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/WtNbfsLSil1dFFEttHmN1715061425.png"], "explanation": "<p>Correct Option A - NIKSHAY\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As per IMNCI guidelines, a diagnosis of pneumonia is made in a 6-month-old infant when the child exhibits rapid breathing with a respiratory rate exceeding:", "options": [{"label": "A", "text": "40", "correct": false}, {"label": "B", "text": "60", "correct": false}, {"label": "C", "text": "30", "correct": false}, {"label": "D", "text": "50", "correct": true}], "correct_answer": "D. 50", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - 5\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following criteria would you utilize to evaluate the effectiveness of the malaria surveillance system implemented by the National Vector Borne Disease Control Programme?", "options": [{"label": "A", "text": "Annual Parasite Index", "correct": false}, {"label": "B", "text": "Annual Blood Examination Rate", "correct": true}, {"label": "C", "text": "Slide positivity rate", "correct": false}, {"label": "D", "text": "Slide falciparum rate", "correct": false}], "correct_answer": "B. Annual Blood Examination Rate", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Parameter</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Definition</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Purpose/Use</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Annual <span class=\"customMeta\" data-dictid=\"a59b97ce831692777194f6c0160f15\">Parasite</span> Index (API)</p>\n</td>\n<td>\n<p>Number of confirmed <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> cases per 1,000 population in a specific area within a year</p>\n</td>\n<td>\n<p>Measures the <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> or burden of <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> in a population</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Annual Blood Examination Rate (ABER)</p>\n</td>\n<td>\n<p>Percentage of the population at risk of <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> who have undergone blood examination for <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> parasites</p>\n</td>\n<td>\n<p>Assesses the coverage and efficiency of the surveillance system in terms of <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> testing for malaria</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Slide Positivity Rate (SPR)</p>\n</td>\n<td>\n<p>Percentage of blood slides examined that test positive for <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> parasites</p>\n</td>\n<td>\n<p>Provides information about the proportion of individuals tested who have confirmed <span class=\"customMeta\" data-dictid=\"8b4c650ddd1692777191286afbcd8a\">malaria</span> infection</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Slide Falciparum Rate (SFR)</p>\n</td>\n<td>\n<p>Percentage of blood slides examined that test positive for <span class=\"customMeta\" data-dictid=\"adb1d6aae2169277719562770dd578\">Plasmodium</span> falciparum</p>\n</td>\n<td>\n<p>Focuses on the <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of P. falciparum infection among tested individuals</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Under Vision 2020, a disease that was added later in India", "options": [{"label": "A", "text": "Cataract", "correct": false}, {"label": "B", "text": "Childhood blindness", "correct": false}, {"label": "C", "text": "Glaucoma", "correct": true}, {"label": "D", "text": "Diabetic retinopathy", "correct": false}], "correct_answer": "C. Glaucoma", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Glau\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "NITI AAYOG represents?", "options": [{"label": "A", "text": "Newer Initiative Transforming India", "correct": false}, {"label": "B", "text": "Nutrition Intake to India", "correct": false}, {"label": "C", "text": "National Institute for Transforming India", "correct": true}, {"label": "D", "text": "National Institute for Technical India", "correct": false}], "correct_answer": "C. National Institute for Transforming India", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/vInE8qwxcZ6mbwtI1syO1715061354.png"], "explanation": "<p>Correct Option C - National Institute for Transforming India: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not a part of Urban health care delivery system?", "options": [{"label": "A", "text": "PHC", "correct": false}, {"label": "B", "text": "CHC", "correct": false}, {"label": "C", "text": "Swasthya chowki", "correct": false}, {"label": "D", "text": "Subcenter", "correct": true}], "correct_answer": "D. Subcenter", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/vlRKf2btHWkZXdGoD4is1714459673.png"], "explanation": "<p>Correct Option D - Su\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 10-year-old school-going girl came for a health checkup. Her Hb is 9 g/dL. Which of the following government programs is likely to provide significant benefit to her health?", "options": [{"label": "A", "text": "Rashtriya bal swasthya karyakram", "correct": true}, {"label": "B", "text": "Janani suraksha yojana", "correct": false}, {"label": "C", "text": "Pradhan Mantri Matru Vandana Yojana", "correct": false}, {"label": "D", "text": "Navjat Shishu Karyakram yojna", "correct": false}], "correct_answer": "A. Rashtriya bal swasthya karyakram", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Rashtriya <span class=\"customMeta\" data-dictid=\"eff14f005f16927771826bf88cb6c5\">Bal</span> Swasthya Karyak\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the context of a national public health initiative aimed at addressing anemia, which of the following program follows the \"6x6x6 strategy\" ?", "options": [{"label": "A", "text": "Anemia mukt bharat", "correct": true}, {"label": "B", "text": "Poshan Abhiyan", "correct": false}, {"label": "C", "text": "Kishori Shakti Yojana", "correct": false}, {"label": "D", "text": "None of these", "correct": false}], "correct_answer": "A. Anemia mukt bharat", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Anemia Mukt Bh\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "School health program is under", "options": [{"label": "A", "text": "PHC", "correct": true}, {"label": "B", "text": "CHC", "correct": false}, {"label": "C", "text": "DH", "correct": false}, {"label": "D", "text": "Health and wellness centres", "correct": false}], "correct_answer": "A. PHC", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - PHC (Primary Health Centre)\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which government program aims to provide health checkups and services for children aged 0-18, including a focus on those not attending school?", "options": [{"label": "A", "text": "Rashtriya Bal Swasthya Karyakaram", "correct": true}, {"label": "B", "text": "Janani Suraksha Yojna", "correct": false}, {"label": "C", "text": "Navjaat Shishu Suraksha Karyakaram", "correct": false}, {"label": "D", "text": "Mid day meal program", "correct": false}], "correct_answer": "A. Rashtriya Bal Swasthya Karyakaram", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Rashtriya <span class=\"customMeta\" data-dictid=\"eff14f005f16927771826bf88cb6c5\">Bal</span> Swasthya Karyak\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following healthcare providers is not working at the village level ?", "options": [{"label": "A", "text": "ANM", "correct": true}, {"label": "B", "text": "AWW", "correct": false}, {"label": "C", "text": "TBA", "correct": false}, {"label": "D", "text": "ASHA", "correct": false}], "correct_answer": "A. ANM", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - ANM\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A baby presents for a routine examination in the outpatient department. A growth chart is utilized to record the baby's weight, which falls within the 85th - 95th percentile range. What is the present condition of the child?", "options": [{"label": "A", "text": "Obesity", "correct": false}, {"label": "B", "text": "SAM", "correct": false}, {"label": "C", "text": "Overweight", "correct": true}, {"label": "D", "text": "Interpretation cannot be made without BMI", "correct": false}], "correct_answer": "C. Overweight", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/aOeU7IcZZn7rI1wkKIWm1685100766.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 71 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Match the following: 1) Food adulteration a) Claviceps in wheat 2) Food additivity b) Saccharin in health drinks 3) Food fortification c) Vanaspati in ghee 4) Food toxication d) Iodine in salt", "options": [{"label": "A", "text": "1-b, 2-d, 3-a, 4-c", "correct": false}, {"label": "B", "text": "1-d, 2-c, 3-b, 4-a", "correct": false}, {"label": "C", "text": "1-c, 2-b, 3-d, 4-a", "correct": true}, {"label": "D", "text": "1-a, 2-d, 3-b, 4-c", "correct": false}], "correct_answer": "C. 1-c, 2-b, 3-d, 4-a", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Food adulteration</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vanaspati in ghee</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Food additivity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Saccharin in health drinks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Food fortification</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Iodine in salt</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Food toxication</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Claviceps in wheat</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Uxn9RQJ7WKZlk2acJvvk1742036988.mp3", "video": ""}, {"text": "A patient presents with short, jerky steps, which developed progressively over the past month. He has been consuming Khesari dal for the past 8 months. Which of the following should be prescribed as prophylaxis to this patient?", "options": [{"label": "A", "text": "Vitamin B", "correct": false}, {"label": "B", "text": "Vitamin C", "correct": true}, {"label": "C", "text": "Vitamin B12", "correct": false}, {"label": "D", "text": "Vitamin D3", "correct": false}], "correct_answer": "B. Vitamin C", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/TGQfVHnTJpLr3yGJfYcn1725600793.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causative agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Beta-oxalyl <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> <span class=\"customMeta\" data-dictid=\"7f4e6edbc91692777181c6fa295ae7\">alanine</span> (BOAA) present in <span class=\"customMeta\" data-dictid=\"fc173a5ccf16927771919025005bf3\">Lathyrus</span> sativus</li>\n<li>Significant exposure : >30% <span class=\"customMeta\" data-dictid=\"c3b8b9a17416927771906b1bebb13c\">inclusion</span> in diet over 2-6 months</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Latent stage: <span class=\"customMeta\" data-dictid=\"e684325d851692777196af9e64013b\">preventive</span> can be best implemented here</li>\n<li>No stick stage: most common point of diagnosis</li>\n<li>One-stick stage: <span class=\"customMeta\" data-dictid=\"9e2d8a3f5a16927771932c2348ec52\">muscular</span> <span class=\"customMeta\" data-dictid=\"b52ddf2a451692777199b4d38e5c53\">stiffness</span> begins</li>\n<li>Two-stick stage: will need crutches</li>\n<li>Crawler stage: <span class=\"customMeta\" data-dictid=\"9e2d8a3f5a16927771932c2348ec52\">muscular</span> <span class=\"customMeta\" data-dictid=\"97ff5253fb169277718224c7b0faf8\">atrophy</span> sets in.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Vitamin C prophylaxis: 500-1000 mg per day</li>\n<li>Banning the crop</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Toxin removal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Steeping method: soaking in hot water for 2 hours, drained and sun-dried.</li>\n<li>Parboiling: overnight soaking in limewater.</li>\n<li>Genetic approach: selecting variants with less BOAA content and cultivating the same.</li>\n<li>Educating people.</li>\n<li>Bringing socio-economic changes.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/jdZL76KvJp0iI4PphK4a1742034818.mp3", "video": ""}, {"text": "A patient presents with new onset swelling in both her legs associated with frequent diarrhoeal episodes and progressive breathlessness. She has a history of consumption of mustard oil. Which of the following adulterants would have caused the above presentation?", "options": [{"label": "A", "text": "Canola oil", "correct": false}, {"label": "B", "text": "Argemone oil", "correct": true}, {"label": "C", "text": "Rapeseed oil", "correct": false}, {"label": "D", "text": "Linseed oil", "correct": false}], "correct_answer": "B. Argemone oil", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/42AZGxRo4kt9ha2fnsiH1725600898.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bilateral leg swelling, diarrhoea, dyspnoea, features of <span class=\"customMeta\" data-dictid=\"61e49875801692777188ad5edea804\">glaucoma</span> and <span class=\"customMeta\" data-dictid=\"1a5e87d16716927771888f364bce89\">heart failure</span> even up to death.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causative agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sanguinarine (toxic <span class=\"customMeta\" data-dictid=\"46a90dd28b1692777181cae2423db7\">alkaloid</span> present in <span class=\"customMeta\" data-dictid=\"b35e0d56de1692777182df513a58b6\">argemone</span> oil).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detection of contamination</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Nitric <span class=\"customMeta\" data-dictid=\"e08c004e8f1692777194c9d37e17ad\">oxide</span> test: the presence of a red-brown ring when added to the sample oil indicates the presence of <span class=\"customMeta\" data-dictid=\"b35e0d56de1692777182df513a58b6\">argemone</span> oil.</li>\n<li>Paper <span class=\"customMeta\" data-dictid=\"fdf5ab514d1692777184d9fe915cba\">chromatography</span> test</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevention</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Accidental contamination: removing <span class=\"customMeta\" data-dictid=\"b35e0d56de1692777182df513a58b6\">argemone</span> weeds growing among oilseed crops.</li>\n<li>Deliberate contamination: enforcing Prevention of Food <span class=\"customMeta\" data-dictid=\"419d4d63611692777180fa22cd0151\">Adulteration</span> Act.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/L5rgx0PXe0xTlAirKLAK1742034944.mp3", "video": ""}, {"text": "Which of the following toxins is responsible for endemic ascites?", "options": [{"label": "A", "text": "Glycoalkaloids", "correct": false}, {"label": "B", "text": "Cyanogenic glycosides", "correct": false}, {"label": "C", "text": "Lectins", "correct": false}, {"label": "D", "text": "Pyrrolizidines", "correct": true}], "correct_answer": "D. Pyrrolizidines", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Features of <span class=\"customMeta\" data-dictid=\"3268e86ce01692777188f249c64d6e\">hepatic</span> damage: hepatomegaly, jaundice, ascites.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causative agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Panicum miliare (millet) <span class=\"customMeta\" data-dictid=\"22b9188ade169277718581ce9dc589\">contamination</span> with <span class=\"customMeta\" data-dictid=\"6de8e14b321692777185737c5a72ad\">crotalaria</span> which contains the <span class=\"customMeta\" data-dictid=\"aad52f4a541692777188bfd2c5830b\">hepatotoxic</span> <span class=\"customMeta\" data-dictid=\"f07830b2ef16927771961be1ed141e\">pyrrolizidine</span> alkaloids.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevention</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Educating people</li>\n<li>Proper de-weeding</li>\n<li>Sieving: <span class=\"customMeta\" data-dictid=\"6de8e14b321692777185737c5a72ad\">crotalaria</span> seeds are smaller than millet seeds</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BXnGigTSim5MpF15UB3b1742035348.mp3", "video": ""}, {"text": "Which of the following is true about aflatoxicosis?", "options": [{"label": "A", "text": "The G1 variant is not associated with hepatocellular carcinoma", "correct": false}, {"label": "B", "text": "The B1 variant can commonly be associated with infantile cirrhosis", "correct": true}, {"label": "C", "text": "The minimum temperature that favours toxin formation is 18 degrees C", "correct": false}, {"label": "D", "text": "Keeping moisture content &lt;22% is recommended for prevention", "correct": false}], "correct_answer": "B. The B1 variant can commonly be associated with infantile cirrhosis", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Features of <span class=\"customMeta\" data-dictid=\"cbc7c810ce1692777188e6eaf3eba2\">hepatotoxicity</span> (jaundice, hepatomegaly)</li>\n<li>Hepatocellular carcinoma</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causative agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Infestation of <span class=\"customMeta\" data-dictid=\"e3baadccd91692777182c9724090b3\">Aspergillus</span> flavus and <span class=\"customMeta\" data-dictid=\"e3baadccd91692777182c9724090b3\">Aspergillus</span> parasiticus over stored rice, wheat, and corn</li>\n<li>Produce mycotoxins: <span class=\"customMeta\" data-dictid=\"4435e6aa0e1692777180e2f819ad80\">aflatoxin</span> B1 & G1 (both are <span class=\"customMeta\" data-dictid=\"aad52f4a541692777188bfd2c5830b\">hepatotoxic</span> & carcinogenic) - <strong>(Option A)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Risk factors</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Storage temperature of 11 to 37 degree Celsius <strong>(Option C)</strong></li>\n<li>Moisture content >16%</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevention</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Educating people</li>\n<li>Moisture content <10% during storage <strong>(Option D)</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/bTo78npUANcO0qDSZeZl1742036658.mp3", "video": ""}, {"text": "What are the acute symptoms associated with ergotism caused by consuming ergot-infested grains?", "options": [{"label": "A", "text": "Joint pain and muscle stiffness", "correct": false}, {"label": "B", "text": "Nausea, repeated vomiting, giddiness, and drowsiness", "correct": true}, {"label": "C", "text": "Rash and skin irritation", "correct": false}, {"label": "D", "text": "High fever and chills", "correct": false}], "correct_answer": "B. Nausea, repeated vomiting, giddiness, and drowsiness", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/azvq5WGUWajywXxqRq6U1742036509.mp3", "video": ""}, {"text": "What is the device shown in the image , used for?", "options": [{"label": "A", "text": "Nutritional assessment", "correct": true}, {"label": "B", "text": "Anthropometry in infants", "correct": false}, {"label": "C", "text": "Head circumference measurement", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "A. Nutritional assessment", "question_images": ["https://image.prepladder.com/content/Pl0aNg8CMQ6jZWc6Vu7N1725602749.png"], "explanation_images": ["https://image.prepladder.com/notes/u9X4RUtcK7FQGvKpne3B1734161128.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:245px\">\n<tbody>\n<tr>\n<td style=\"background-color:#ff0000; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:90px\">\n<p style=\"text-align:center\">Red</p>\n</td>\n<td style=\"background-color:#ff0000; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:155px\">\n<p style=\"text-align:center\"><11.5 cm</p>\n</td>\n<td style=\"background-color:#ff0000; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:155px\">\n<p style=\"text-align:center\">Severe Malnutrition</p>\n</td>\n</tr>\n<tr>\n<td style=\"background-color:#ffff00; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:90px\">\n<p style=\"text-align:center\">Yellow</p>\n</td>\n<td style=\"background-color:#ffff00; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:155px\">\n<p style=\"text-align:center\">11.5-12.5 cm</p>\n</td>\n<td style=\"background-color:#ffff00; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:155px\">\n<p style=\"text-align:center\">Borderline Malnutrition</p>\n</td>\n</tr>\n<tr>\n<td style=\"background-color:#00ff00; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:90px\">\n<p style=\"text-align:center\">Green</p>\n</td>\n<td style=\"background-color:#00ff00; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:155px\">\n<p style=\"text-align:center\">>12.5 cm</p>\n</td>\n<td style=\"background-color:#00ff00; border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:155px\">\n<p style=\"text-align:center\">Normal</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/txH3GjNwjMPNfl3Zb4QU1742036389.mp3", "video": ""}, {"text": "What is one of the criteria used to define severe acute malnutrition (SAM) according to WHO standards?", "options": [{"label": "A", "text": "Mid-upper arm circumference &gt;115 mm", "correct": false}, {"label": "B", "text": "Weight-for-age Z-score below -1 SD", "correct": false}, {"label": "C", "text": "Presence of nutritional oedema", "correct": true}, {"label": "D", "text": "Height-for-age Z-score below -2 SD", "correct": false}], "correct_answer": "C. Presence of nutritional oedema", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rIwlwPCoIpVuBfxJXLyX1742036272.mp3", "video": ""}, {"text": "Which of the following can be best used to determine acute malnutrition?", "options": [{"label": "A", "text": "Weight for age", "correct": false}, {"label": "B", "text": "Height for age", "correct": false}, {"label": "C", "text": "Weight for height", "correct": true}, {"label": "D", "text": "Mid-upper arm circumference", "correct": false}], "correct_answer": "C. Weight for height", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:479px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:235px\">\n<p style=\"text-align:center\">Low weight for age</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:195px\">\n<p style=\"text-align:center\">Underweight</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:195px\">\n<p style=\"text-align:center\">Both chronic & <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> malnutrition.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:235px\">\n<p style=\"text-align:center\">Low height for age</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:195px\">\n<p style=\"text-align:center\">Stunting</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:195px\">\n<p style=\"text-align:center\">Chronic malnutrition</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:235px\">\n<p style=\"text-align:center\">Low weight for height</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:195px\">\n<p style=\"text-align:center\">Wasting</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:195px\">\n<p style=\"text-align:center\">Acute malnutrition</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/p0zi9rjBVFpNCPezkKnv1742036163.mp3", "video": ""}, {"text": "Which of the following is an age-independent anthropometric measure of malnutrition?", "options": [{"label": "A", "text": "Mid -upper arm circumference only", "correct": false}, {"label": "B", "text": "Weight for height only", "correct": false}, {"label": "C", "text": "Weight for height and mid-upper arm circumference", "correct": true}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "C. Weight for height and mid-upper arm circumference", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/talNlvAEB0GJtRWhE2181742035453.mp3", "video": ""}, {"text": "A 14-month-old infant is brought to the clinic by his mother due to concerns about poor growth. The child appears emaciated, with visible rib bones and a sunken appearance of face. On examination, there is minimal subcutaneous fat and muscle wasting. The mother reports that the infant has been exclusively breastfed, but she herself has been malnourished due to economic constraints. What is the most likely diagnosis?", "options": [{"label": "A", "text": "Kwashiorkor", "correct": false}, {"label": "B", "text": "Marasmus", "correct": true}, {"label": "C", "text": "Cystic fibrosis", "correct": false}, {"label": "D", "text": "Celiac disease", "correct": false}], "correct_answer": "B. Marasmus", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/6dbHGyls0K0R5Hwr3HVl1725602668.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\"><strong>Characteristic</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\"><strong>Kwashiorkor</strong></p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\"><strong>Marasmus</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Cause</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Low protein/energy ratio in diet</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Inadequate <span class=\"customMeta\" data-dictid=\"6cdcd39cf2169277719068e247e38d\">intake</span> of both protein and energy</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Affected age group</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">1 to 4 years</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">< 1 year</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Severity </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Severe </p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Less severe </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Physical appearance</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Lethargic, <span class=\"customMeta\" data-dictid=\"652da6745a1692777192b1cdbbb606\">moon face</span> due to edema, flaky paint <span class=\"customMeta\" data-dictid=\"cb721815b01692777186acaa47e445\">dermatosis</span> & flag sign</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Alert & thin, loose wrinkled skin, baggy pants appearance & muscle wasting</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Feeding behaviour</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Children are usually <strong>voracious feeders.</strong> </p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Often <strong>poor appetite</strong> or <strong>anorexia</strong> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Oedema </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Present </p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Minimal or no oedema</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Subcutaneous fat</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">-</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Minimal or absent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Muscle wasting</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Present </p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Present </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Serum <span class=\"customMeta\" data-dictid=\"1fa594dc2b169277718104d76aa4e2\">albumin</span> levels</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Hypoalbuminemia (low <span class=\"customMeta\" data-dictid=\"1fa594dc2b169277718104d76aa4e2\">albumin</span> levels)</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">Non-normal <span class=\"customMeta\" data-dictid=\"1ffaec13de169277719828374cfda0\">serum</span> <span class=\"customMeta\" data-dictid=\"1fa594dc2b169277718104d76aa4e2\">albumin</span> levels</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Liver involvement</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Enlargement</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Skin and hair changes</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Depigmentation</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">-</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:126px\">\n<p style=\"text-align:center\">Other features</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:242px\">\n<p style=\"text-align:center\">Steatosis (fatty liver)</p>\n</td>\n<td colspan=\"5\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:30px\">\n<p style=\"text-align:center\">-</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Z3UosUfCJrYVRnJyycII1742036810.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 21 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following best describes a balanced diet?", "options": [{"label": "A", "text": "A diet containing micronutrients forms the bulk of the food.", "correct": false}, {"label": "B", "text": "A diet consisting of 70% carbohydrates, 10% proteins, and 20% fats.", "correct": true}, {"label": "C", "text": "A diet adhered to dietary goals focused on high protein and vitamin intake.", "correct": false}, {"label": "D", "text": "A diet consisting of 150 gm/day of cereals, 40 gm/day of pulses and 10 gm/day of fat.", "correct": false}], "correct_answer": "B. A diet consisting of 70% carbohydrates, 10% proteins, and 20% fats.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Macronutrients </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Micronutrients</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Form the main bulk of the food <strong>(Option A)</strong></li>\n<li>Proportion of total energy <span class=\"customMeta\" data-dictid=\"6cdcd39cf2169277719068e247e38d\">intake</span> <strong>(Option B)</strong>:\n\t\t\t\t<ul>\n<li>Protein: 10-15%, 4 kcal/ gram</li>\n<li>Carbohydrates: 50-80%, 4 kcal/gram</li>\n<li>Fats: 15-30%, 9 kcal/gram</li>\n</ul>\n</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Required in <strong>small</strong> amounts <strong>(Option C)</strong></li>\n<li>Consists of vitamins and minerals.</li>\n<li>Major minerals: Magnesium, Trace elements, Iron, Iodine, Zinc, Sodium, Potassium, Calcium.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:417px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Food item </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Man (sedentary) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Female (sedentary)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Cereals</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>460 gm/day</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>410 gm/day</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pulses</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40 gm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40 gm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Leafy vegetables</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40 gm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100 gm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Milk</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>150 ml</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100 ml</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Oil & fat</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>40 gm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20 gm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sugar</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>30 gm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20 gm</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/fZsbt1DCnvvYBNIMEnz51742037335.mp3", "video": ""}, {"text": "A 55-year-old patient with a history of diabetes mellitus and hypertension visits your clinic. During the consultation, you advise the patient to adopt a diet that reduces fat and salt intake. What type of diet is being recommended to this patient?", "options": [{"label": "A", "text": "Staple diet", "correct": false}, {"label": "B", "text": "Prudent diet", "correct": true}, {"label": "C", "text": "High-protein diet", "correct": false}, {"label": "D", "text": "Balanced diet", "correct": false}], "correct_answer": "B. Prudent diet", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RmOvFM3T7Bv4t5fzaIEO1746562974.mp3", "video": ""}, {"text": "A 23-year-old male reports that his diet has been low in protein. Which of the following amino acids cannot be synthesised in the body and must be obtained from the diet?", "options": [{"label": "A", "text": "Glycine", "correct": false}, {"label": "B", "text": "Lysine", "correct": true}, {"label": "C", "text": "Tyrosine", "correct": false}, {"label": "D", "text": "Histidine", "correct": false}], "correct_answer": "B. Lysine", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:693px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Essential AA<br/>\n<strong>(</strong><strong>Option</strong><strong> B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Not synthesised in the body, it <strong>must obtained from the diet</strong></li>\n<li>Total 9: Phenylalanine, Valine, Threonine, Tryptophan, Isoleucine, Methionine, Histidine, Phenylalanine, <strong>Lysine</strong>, Leucine.</li>\n<li>\n<p><strong>(Mnemonic: PVT-TIM-HALL)</strong></p>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. Non-essential AA<br/>\n<strong>(</strong><strong>Option</strong><strong> A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Synthesised</strong> in the body</li>\n<li>Total 6: Arginine, Asparagine, Serine, Proline, <strong>Glycine</strong>, Glutamine</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. Conditionally-essential AA<br/>\n<strong>(</strong><strong>Option</strong><strong> C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Non-essential <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> acids turn essential if precursors are limited in the body (during stress or illness)</li>\n<li><strong>Tyrosine</strong>, cysteine, glutamine</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4. Semi-essential AA<br/>\n<strong>(</strong><strong>Option</strong><strong> D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Increase requirement during growth (like pregnancy)</li>\n<li>Arginine, <strong>Histidine</strong>.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/7YFI4TsPShZhbVtphpDl1742119626.mp3", "video": ""}, {"text": "Match the following types of food sources with their respective limiting amino acids Food source Amino-acid 1. Corn a. Lysine 2. Wheat b. Methionine 3. Nuts c. Tryptophan 4. Legumes d. Threonine", "options": [{"label": "A", "text": "1:c, 2:d, 3:a, 4: b", "correct": true}, {"label": "B", "text": "1:a, 2:c, 3:d, 4: b", "correct": false}, {"label": "C", "text": "1:c, 2:a, 3:b, 4: d", "correct": false}, {"label": "D", "text": "1:d, 2:c, 3:a, 4: b", "correct": false}], "correct_answer": "A. 1:c, 2:d, 3:a, 4: b", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:683px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Food item</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Limiting <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> acid</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. Corn/ Maize</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Tryptophan & <span class=\"customMeta\" data-dictid=\"6413333d09169277719125b8a2a652\">lysine</span> (most common)</li>\n<li>Tryptophan is a <span class=\"customMeta\" data-dictid=\"ae13cdc5c3169277719683e9f6bda5\">precursor</span> of Vitamin B3 (niacin), hence its <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> can lead to Pellagra, a condition characterized by “4 D’s” i.e., dermatitis, diarrhea, dementia, and in severe cases, death.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. Cereals (Wheat, Rice)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Threonine & lysine</li>\n<li>Rice has a slightly higher <span class=\"customMeta\" data-dictid=\"6413333d09169277719125b8a2a652\">lysine</span> content</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. Nuts</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Lysine</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4. Legumes/Pulses</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Methionine & Cystine</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/cCM5BerQMjBlqXDnr0Yr1747426098.mp3", "video": ""}, {"text": "Which of the following statements best describes the protein efficiency ratio (PER)?", "options": [{"label": "A", "text": "The ratio of protein to the total energy in a diet", "correct": false}, {"label": "B", "text": "Measure of protein quality based on weight gain per unit of protein consumed", "correct": true}, {"label": "C", "text": "The balance of essential amino acids in a protein source", "correct": false}, {"label": "D", "text": "The proportion of protein retained for growth expressed as the amount of nitrogen absorbed.", "correct": false}], "correct_answer": "B. Measure of protein quality based on weight gain per unit of protein consumed", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Amino Acid Score</li><li>↳ (Option C)</li><li>↳ Amino Acid Score = (mg of each essential amino acid in the test protein / mg of the same amino acid in the reference protein) x 100</li><li>↳ Amino Acid Score = (mg of each essential amino acid in the test protein / mg of the same amino acid in the reference protein) x 100</li><li>↳ Biological value (BV) refers to the percentage of protein retained in the body for growth, measured in terms of the amount of nitrogen absorbed. (Option D)</li><li>↳ Biological value (BV)</li><li>↳ (Option D)</li><li>↳ Biological value = (Nitrogen retained / Nitrogen absorbed) x 100</li><li>↳ Biological value = (Nitrogen retained / Nitrogen absorbed) x 100</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:667px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Protein-energy ratio (</strong><strong>Option</strong><strong> A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Protein Efficiency Ratio (</strong><strong>Option</strong><strong> B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Energy from protein in food product/total energy x 100</strong></li>\n<li>PER > 2.5: Better utilisation and promotes growth (animal protein)</li>\n<li>PER=0.5-2.5: supports life (vegetable protein)</li>\n<li>Maximum Protein energy ratio = Fish (80%)</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Weight gain (g) of test subject/amount of protein consumed(g) x 100</strong></li>\n<li>Laboratory indicator.</li>\n<li>Assess how well the protein supports growth.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2ombdXT88CAqjSar1xb51746563046.mp3", "video": ""}, {"text": "Which of the following correctly describes the food's digestible amino acid content ratio to the same amino acid in a reference pattern?", "options": [{"label": "A", "text": "Digestible Indispensable Amino Acid Score", "correct": true}, {"label": "B", "text": "Digestibility coefficient", "correct": false}, {"label": "C", "text": "Net Protein Utilization", "correct": false}, {"label": "D", "text": "Reference protein", "correct": false}], "correct_answer": "A. Digestible Indispensable Amino Acid Score", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Qualitative measures of protein</li><li>↳ Qualitative measures of protein</li><li>↳ Qualitative measures of protein</li><li>↳ Qualitative measures of protein</li><li>↳ 1. Digestible Indispensable Amino Acid Score (DIAAS) ( Option A) Digestible dietary amino acid mg in 1g of dietary protein/same dietary amino acid mg in 1g of reference protein X 100 Ideal digestibility coefficient of a food product Best indicator to measure protein quality</li><li>↳ 1. Digestible Indispensable Amino Acid Score (DIAAS) ( Option A)</li><li>↳ 1. Digestible Indispensable Amino Acid Score (DIAAS)</li><li>↳ Digestible Indispensable Amino Acid Score (DIAAS)</li><li>↳ ( Option A)</li><li>↳ (</li><li>↳ Option</li><li>↳ A)</li><li>↳ Digestible dietary amino acid mg in 1g of dietary protein/same dietary amino acid mg in 1g of reference protein X 100 Ideal digestibility coefficient of a food product Best indicator to measure protein quality</li><li>↳ Digestible dietary amino acid mg in 1g of dietary protein/same dietary amino acid mg in 1g of reference protein X 100 Ideal digestibility coefficient of a food product Best indicator to measure protein quality</li><li>↳ Digestible dietary amino acid mg in 1g of dietary protein/same dietary amino acid mg in 1g of reference protein X 100</li><li>↳ Digestible dietary amino acid mg in 1g of dietary protein/same dietary amino acid mg in 1g of reference protein</li><li>↳ Ideal digestibility coefficient of a food product</li><li>↳ Best indicator to measure protein quality</li><li>↳ Best indicator</li><li>↳ 2. Digestibility coefficient ( Option B) Amount of amino acid absorbed / amount of protein ingested. External protein quality indicator of the food product.</li><li>↳ 2. Digestibility coefficient ( Option B)</li><li>↳ 2. Digestibility coefficient ( Option B)</li><li>↳ (</li><li>↳ Option</li><li>↳ B)</li><li>↳ Amount of amino acid absorbed / amount of protein ingested. External protein quality indicator of the food product.</li><li>↳ Amount of amino acid absorbed / amount of protein ingested. External protein quality indicator of the food product.</li><li>↳ Amount of amino acid absorbed / amount of protein ingested.</li><li>↳ Amount of amino acid absorbed / amount of protein ingested.</li><li>↳ External protein quality indicator of the food product.</li><li>↳ 3. Net Protein Utilization (NPU) ( Option C) Digestibility coefficient (external indicator) x Biological value (internal indicator) / 100 Percentage of the ingested nitrogen retained in the body 1 gm protein = 6.25gm nitrogen NPU Indian diet: 50-80</li><li>↳ 3. Net Protein Utilization (NPU) ( Option C)</li><li>↳ 3. Net Protein Utilization (NPU) ( Option C)</li><li>↳ (</li><li>↳ Option</li><li>↳ C)</li><li>↳ Digestibility coefficient (external indicator) x Biological value (internal indicator) / 100 Percentage of the ingested nitrogen retained in the body 1 gm protein = 6.25gm nitrogen NPU Indian diet: 50-80</li><li>↳ Digestibility coefficient (external indicator) x Biological value (internal indicator) / 100 Percentage of the ingested nitrogen retained in the body 1 gm protein = 6.25gm nitrogen NPU Indian diet: 50-80</li><li>↳ Digestibility coefficient (external indicator) x Biological value (internal indicator) / 100</li><li>↳ Percentage of the ingested nitrogen retained in the body</li><li>↳ 1 gm protein = 6.25gm nitrogen</li><li>↳ NPU Indian diet: 50-80</li><li>↳ 4. Biological Value Nitrogen retained/ Nitrogen absorbed x 100</li><li>↳ 4. Biological Value</li><li>↳ 4. Biological Value</li><li>↳ Nitrogen retained/ Nitrogen absorbed x 100</li><li>↳ Nitrogen retained/ Nitrogen absorbed x 100</li><li>↳ Nitrogen retained/ Nitrogen absorbed x 100</li><li>↳ 5. Reference protein (Option D) It is the standard for measuring other proteins, such as eggs, because it has the highest NPU and contains all essential amino acids.</li><li>↳ 5. Reference protein (Option D)</li><li>↳ 5. Reference protein</li><li>↳ (Option D)</li><li>↳ (Option D)</li><li>↳ It is the standard for measuring other proteins, such as eggs, because it has the highest NPU and contains all essential amino acids.</li><li>↳ It is the standard for measuring other proteins, such as eggs, because it has the highest NPU and contains all essential amino acids.</li><li>↳ It is the standard for measuring other proteins, such as eggs, because it has the highest NPU and contains all essential amino acids.</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Qualitative measures of protein</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:189px\">\n<p>1.<strong>Digestible Indispensable <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">Amino</span> Acid Score (DIAAS)</strong></p>\n<p><strong>(</strong><strong>Option</strong><strong> A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:435px\">\n<ul>\n<li><strong>Digestible dietary <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> acid mg in 1g of dietary protein/same dietary <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> acid mg in 1g of reference protein</strong> X 100</li>\n<li>Ideal digestibility <span class=\"customMeta\" data-dictid=\"b530604f9d1692777184cf1541ae41\">coefficient</span> of a food product</li>\n<li><strong>Best indicator</strong> to measure protein quality</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:189px\">\n<p>2. Digestibility coefficient<br/>\n<strong>(</strong><strong>Option</strong><strong> B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:435px\">\n<ul>\n<li><strong>Amount of <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> acid absorbed / amount of protein ingested.</strong></li>\n<li>External protein quality indicator of the food product.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:189px\">\n<p>3. Net Protein <span class=\"customMeta\" data-dictid=\"6aee31718c16927772019237286270\">Utilization</span> (NPU)<br/>\n<strong>(</strong><strong>Option</strong><strong> C)</strong></p>\n<br/>\n\t\t\t </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:435px\">\n<ul>\n<li>Digestibility <span class=\"customMeta\" data-dictid=\"b530604f9d1692777184cf1541ae41\">coefficient</span> (external indicator) x Biological value (internal indicator) / 100</li>\n<li>Percentage of the ingested <span class=\"customMeta\" data-dictid=\"391d32291016927771932bab695579\">nitrogen</span> retained in the body</li>\n<li>1 gm protein = 6.25gm nitrogen</li>\n<li>NPU Indian diet: 50-80</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:189px\">\n<p>4. Biological Value</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:435px\">\n<ul>\n<li>Nitrogen retained/ <span class=\"customMeta\" data-dictid=\"391d32291016927771932bab695579\">Nitrogen</span> absorbed x 100</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:189px\">\n<p>5. Reference protein</p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top; width:435px\">\n<ul>\n<li>It is the standard for measuring other proteins, such as eggs, because it has the highest NPU and contains all essential <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> acids.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SbzU4w71FcXPZUg3uIh51742119986.mp3", "video": ""}, {"text": "Why is an egg known as a reference protein?", "options": [{"label": "A", "text": "It is the easiest protein to digest.", "correct": false}, {"label": "B", "text": "It has the highest protein content per gram.", "correct": false}, {"label": "C", "text": "It contains all essential amino acids.", "correct": true}, {"label": "D", "text": "It has the longest shelf life of all proteins.", "correct": false}], "correct_answer": "C. It contains all essential amino acids.", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ they provide all the essential amino acids in the right proportions needed by the human body.</li><li>↳ Egg Importance Eggs are highly nutritious and rich in protein, essential vitamins, & minerals. They support muscle building, brain health, and overall wellness. Rule of 6 6 grams of protein 6 grams of fat 60 calories per large egg 6 essential vitamins (A, B2, B12, D, E, K) 60 grams average weight Others: 6x5=30 mg Calcium 6x0.25=1.5mg Iron</li><li>↳ Egg</li><li>↳ Egg</li><li>↳ Egg</li><li>↳ Egg</li><li>↳ Importance Eggs are highly nutritious and rich in protein, essential vitamins, & minerals. They support muscle building, brain health, and overall wellness.</li><li>↳ Importance</li><li>↳ Importance</li><li>↳ Importance</li><li>↳ Eggs are highly nutritious and rich in protein, essential vitamins, & minerals. They support muscle building, brain health, and overall wellness.</li><li>↳ Eggs are highly nutritious and rich in protein, essential vitamins, & minerals. They support muscle building, brain health, and overall wellness.</li><li>↳ Eggs are highly nutritious and rich in protein, essential vitamins, & minerals.</li><li>↳ They support muscle building, brain health, and overall wellness.</li><li>↳ Rule of 6 6 grams of protein 6 grams of fat 60 calories per large egg 6 essential vitamins (A, B2, B12, D, E, K) 60 grams average weight Others: 6x5=30 mg Calcium 6x0.25=1.5mg Iron</li><li>↳ Rule of 6</li><li>↳ Rule of 6</li><li>↳ Rule of 6</li><li>↳ 6 grams of protein 6 grams of fat 60 calories per large egg 6 essential vitamins (A, B2, B12, D, E, K) 60 grams average weight Others: 6x5=30 mg Calcium 6x0.25=1.5mg Iron</li><li>↳ 6 grams of protein 6 grams of fat 60 calories per large egg 6 essential vitamins (A, B2, B12, D, E, K) 60 grams average weight</li><li>↳ 6 grams of protein</li><li>↳ 6 grams of fat</li><li>↳ 60 calories per large egg</li><li>↳ 6 essential vitamins (A, B2, B12, D, E, K)</li><li>↳ 60 grams average weight</li><li>↳ Others:</li><li>↳ 6x5=30 mg Calcium 6x0.25=1.5mg Iron</li><li>↳ 6x5=30 mg Calcium</li><li>↳ 6x0.25=1.5mg Iron</li><li>↳ The Net Protein Utilization (NPU) of eggs is typically around 96% . This means that 96% of the protein absorbed from eggs is retained by the body for growth and maintenance.</li><li>↳ 96%</li><li>↳ Eggs (Option A) are easy to digest and have high bioavailability, meaning the body can efficiently absorb and utilise the protein; this characteristic alone does not make them a reference protein.</li><li>↳ (Option A)</li><li>↳ Eggs are a good source of protein, but they do not have the highest protein content per gram compared to other protein-rich foods like certain types of fish or meat. (Option B)</li><li>↳ (Option B)</li><li>↳ Eggs have a reasonable shelf life when stored properly, but many other protein sources, such as dried legumes or certain preserved meats, have longer shelf lives. (Option D)</li><li>↳ (Option D)</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:630px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Egg</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Importance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Eggs are highly <span class=\"customMeta\" data-dictid=\"857226a62716927771933d4e26861b\">nutritious</span> and rich in protein, essential vitamins, & minerals.</li>\n<li>They support muscle building, brain health, and overall wellness.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rule of 6</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>6 grams of protein</li>\n<li>6 grams of fat</li>\n<li>60 calories per large egg</li>\n<li>6 essential vitamins (A, B2, B12, D, E, K)</li>\n<li>60 grams average weight</li>\n</ul>\n<p>Others:</p>\n<ul>\n<li>6x5=30 mg Calcium</li>\n<li>6x0.25=1.5mg Iron</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/OMNBQVRMMDHCpAADKKw21742120336.mp3", "video": ""}, {"text": "All are true regarding unsaturated fats except?", "options": [{"label": "A", "text": "Contain one or more double bonds in their fatty acid chains.", "correct": false}, {"label": "B", "text": "Usually liquid at room temperature.", "correct": false}, {"label": "C", "text": "Primarily found in plant-based sources and fish.", "correct": false}, {"label": "D", "text": "Increase the risk of cardiovascular disease.", "correct": true}], "correct_answer": "D. Increase the risk of cardiovascular disease.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Saturated Fats</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Fatty acid chains have no double bonds, making them solid at room temperature.</li>\n<li>Predominantly found in animal products such as meat, dairy, and eggs, as well as some plant-based oils like <span class=\"customMeta\" data-dictid=\"ab713160f416927771845c2837bebe\">coconut</span> oil and palm oil.</li>\n<li>Consuming high amounts is associated with increasing levels of <span class=\"customMeta\" data-dictid=\"4e4438ab5c16927771919ca536a59f\">LDL</span> cholesterol (bad cholesterol) in the blood, which can raise the risk of <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> diseases such as heart disease and stroke.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Unsaturated Fats</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Contain one or more double bonds in their <span class=\"customMeta\" data-dictid=\"bc6cd9a9f9169277720261812ea113\">fatty</span> acid chains,</strong> which makes them usually<strong> liquid at room temperature. (Option A and B)</strong></li>\n<li><strong>Primarily found in plant-based sources such as oils, nuts, and seeds,</strong> as well as in fish. <strong>(Option C)</strong></li>\n<li>Considered healthier for consumption as they Improve blood cholesterol levels, reduce inflammation, and<strong> lower the risk of <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> disease. (Option D)</strong></li>\n<li><strong>Types:</strong>\n<ul>\n<li>Monounsaturated fats: single, double bond.</li>\n<li>Polyunsaturated fats: Multiple double bonds; includes Omega-3 and Omega-6</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Trans Fats</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Industrially produced fats are found in partially hydrogenated oils.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/83tNRnirYSW174fBDYe51742120139.mp3", "video": ""}, {"text": "A patient with a history of cardiovascular disease is advised by their doctor to incorporate oils rich in polyunsaturated fatty acids (PUFA) into their diet, with a recommendation of oils containing more than 50% PUFA. Which of the following oils would not be recommended?", "options": [{"label": "A", "text": "Safflower Oil", "correct": false}, {"label": "B", "text": "Sunflower Oil", "correct": false}, {"label": "C", "text": "Soybean Oil", "correct": false}, {"label": "D", "text": "Coconut Oil", "correct": true}], "correct_answer": "D. Coconut Oil", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>PUFA</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Safflower Oil</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>75</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sunflower Oil</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>62</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Soybean Oil</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>53</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Groundnut Oil</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>32</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Palm Oil</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>11</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Coconut Oil</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>2</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Butter</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/JmtEjnvxBkyqRK59tRbr1742120501.mp3", "video": ""}, {"text": "A patient presents with rough, dry, scaly skin patches on their elbows, knees, buttocks, and hair follicle keratosis (bumps around hair follicles). Which nutrient deficiency is not associated with this condition?", "options": [{"label": "A", "text": "Vitamin A", "correct": false}, {"label": "B", "text": "Essential Fatty Acids", "correct": false}, {"label": "C", "text": "Vitamin E", "correct": false}, {"label": "D", "text": "Zinc", "correct": true}], "correct_answer": "D. Zinc", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hwpn6gnkS2rFk2LJ0nlm1734336961.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ucc2KHWY9Z8t3OpTu5eE1742120648.mp3", "video": ""}, {"text": "Which statements regarding partially hydrogenated vegetable oils are correct? 1. Longer shelf life compared to unprocessed oils. 2. Fortified with Vitamin A 3. Liquid at room temperature 4. Contains Trans fats 5. No association with increased risk of heart disease. 6. Primarily used in cooking oils to enhance flavor.", "options": [{"label": "A", "text": "1, 2, and 4", "correct": true}, {"label": "B", "text": "2, 4, and 5", "correct": false}, {"label": "C", "text": "1, 2, and 3", "correct": false}, {"label": "D", "text": "2, 4, and 6", "correct": false}], "correct_answer": "A. 1, 2, and 4", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4pewtHGepc0Cnq1bJpSx1742121325.mp3", "video": ""}, {"text": "A patient is newly diagnosed with diabetes mellitus. Which of the following dietary recommendations would you recommend?", "options": [{"label": "A", "text": "Oats", "correct": true}, {"label": "B", "text": "White bread", "correct": false}, {"label": "C", "text": "Watermelon", "correct": false}, {"label": "D", "text": "Mashed potatoes", "correct": false}], "correct_answer": "A. Oats", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:552px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Low GI (≤ 55)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Medium GI (56-69)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>High GI (≥ 70)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Oats</strong></li>\n<li>Apples</li>\n<li>Oranges</li>\n<li>Lentils</li>\n<li>Chickpeas</li>\n<li>Kidney beans</li>\n<li>Barley</li>\n<li>Nuts and seeds</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Sweet potatoes</li>\n<li>Brown rice</li>\n<li>Pineapple</li>\n<li>Mango</li>\n<li><strong>Watermelon</strong></li>\n<li>Dairy products</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>White bread</strong></li>\n<li>Bagels</li>\n<li>White rice</li>\n<li>Sugary cereals</li>\n<li>Potato chips</li>\n<li>Dates</li>\n<li><strong>Mashed potatoes</strong></li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ux60OyrG1B1Wi3vlvhM71742120776.mp3", "video": ""}, {"text": "Which of the following statements are true regarding the reference Indian man and woman? Statements: The reference Indian man is defined as having a body weight of 60 kg and a height of 170 cm. The reference Indian woman is defined as having a body weight of 55 kg and a height of 162 cm. The reference Age range of 19- 29 years is considered The reference Indian BMI ( Woman &gt; Man ) The reference Indian man typically has a waist circumference of 90 cm.", "options": [{"label": "A", "text": "Statements 1 and 3 are correct", "correct": false}, {"label": "B", "text": "Statements 2 and 4 are correct", "correct": true}, {"label": "C", "text": "Statements 3 and 5 are correct", "correct": false}, {"label": "D", "text": "Statements 1 and 4 are correct", "correct": false}], "correct_answer": "B. Statements 2 and 4 are correct", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Reference Indian men and women aged between (19-39 years):</li><li>↳ Classified based on the following attributes.</li><li>↳ Indian Man Indian Woman Average Height 1.77 m 1.62m Average Weight 65 kg 55 kg Average BMI 20.75 20.95 Average Waist Circumference 85 cm 75 cm</li><li>↳ Indian Man Indian Woman</li><li>↳ Indian Man</li><li>↳ Indian Man</li><li>↳ Indian Man</li><li>↳ Indian Woman</li><li>↳ Indian Woman</li><li>↳ Indian Woman</li><li>↳ Average Height 1.77 m 1.62m</li><li>↳ Average Height</li><li>↳ Average Height</li><li>↳ 1.77 m</li><li>↳ 1.77 m</li><li>↳ 1.62m</li><li>↳ 1.62m</li><li>↳ Average Weight 65 kg 55 kg</li><li>↳ Average Weight</li><li>↳ Average Weight</li><li>↳ 65 kg</li><li>↳ 65 kg</li><li>↳ 55 kg</li><li>↳ 55 kg</li><li>↳ Average BMI 20.75 20.95</li><li>↳ Average BMI</li><li>↳ Average BMI</li><li>↳ 20.75</li><li>↳ 20.75</li><li>↳ 20.95</li><li>↳ 20.95</li><li>↳ Average Waist Circumference 85 cm 75 cm</li><li>↳ Average Waist Circumference</li><li>↳ Average Waist Circumference</li><li>↳ 85 cm</li><li>↳ 85 cm</li><li>↳ 75 cm</li><li>↳ 75 cm</li><li>↳ Activity Level : (for both man and women)</li><li>↳ Activity Level :</li><li>↳ 8 hours of sleep 8 hours of moderate work 4-6 hours of sitting/moving 2 hours of walking/recreation</li><li>↳ 8 hours of sleep</li><li>↳ 8 hours of moderate work</li><li>↳ 4-6 hours of sitting/moving</li><li>↳ 2 hours of walking/recreation</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:534px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Indian Man</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Indian Woman</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Average Height</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1.77 m</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1.62m</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Average Weight</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>65 kg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>55 kg</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Average BMI</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20.75</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>20.95</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Average Waist Circumference</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>85 cm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>75 cm</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/m7higUOmWmJ0AdxgcJEM1742121056.mp3", "video": ""}, {"text": "Which of the following statements about dietary fiber are true? Promotes satiety but has no role in reducing blood glucose Acts as bile acid sequestrants in the small intestine The recommended daily intake is approximately 60 grams Excessive fibre intake can lead to micronutrient malabsorption Bowel irritation can only occur if the daily intake reaches 80 grams", "options": [{"label": "A", "text": "1,2 and 5", "correct": false}, {"label": "B", "text": "2 and 4", "correct": true}, {"label": "C", "text": "3 and 5", "correct": false}, {"label": "D", "text": "2,3 and 4", "correct": false}], "correct_answer": "B. 2 and 4", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/VuR2TRlZwaQXqaVNR8KZ1742121548.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 24 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is true regarding vitamin A? Obtained from animal sources like liver, egg yolks, and dairy products. Maintains healthy skin and mucous membranes. Deficiency leads to night blindness and an increased risk of childhood infections. It helps in calcium absorption", "options": [{"label": "A", "text": "1 only", "correct": false}, {"label": "B", "text": "2, 4", "correct": false}, {"label": "C", "text": "1, 3", "correct": false}, {"label": "D", "text": "1, 2, and 3", "correct": true}], "correct_answer": "D. 1, 2, and 3", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/N3A3yCYaeCeOVHQ45bEM1741891506.mp3", "video": ""}, {"text": "Which stage of xerophthalmia is depicted in the following image?", "options": [{"label": "A", "text": "X1A", "correct": false}, {"label": "B", "text": "X1B", "correct": true}, {"label": "C", "text": "X2", "correct": false}, {"label": "D", "text": "X3A", "correct": false}], "correct_answer": "B. X1B", "question_images": ["https://image.prepladder.com/content/mSpCmmq4nmSLHJDLGGjS1725597669.png"], "explanation_images": ["https://image.prepladder.com/content/eYtGsLCNj9aiv0nHJRTS1734076568.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:660px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Stage</strong><strong> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>XN</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Night blindness: Difficulty seeing in low light or at night.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>X1A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Conjunctival xerosis: Dryness of the <span class=\"customMeta\" data-dictid=\"d168af6e7f1692777185683fea5e7f\">conjunctiva</span> without foamy patches (Bitot spots).</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>X1B</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bitot spots: Presence of foamy, whitish accumulations on the conjunctiva.</p>\n<p><img alt=\"\" data-author=\"Richard D Semba\" data-hash=\"\" data-license=\"CC BY NC ND 4.0\" data-source=\"https://www.researchgate.net/figure/Bitots-spots-The-foamy-raised-lesion-on-the-temporal-conjunctiva-or-Bitots-spot-is_fig1_282028358\" data-tags=\"\" height=\"2863\" src=\"https://image.prepladder.com/content/eYtGsLCNj9aiv0nHJRTS1734076568.png\" width=\"4167\"/></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>X2</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corneal xerosis: The cornea's dryness makes it appear <span class=\"customMeta\" data-dictid=\"68d37494591692777186d7c7ce4531\">dull</span> and hazy.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>X3A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corneal ulceration/keratomalacia (<1/3rd of the cornea)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>X3B</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corneal ulceration/keratomalacia (>1/3rd of the cornea)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>XS</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Corneal scar: <span class=\"customMeta\" data-dictid=\"e9dcc3d4241692777198c7030bf313\">Scarring</span> of the <span class=\"customMeta\" data-dictid=\"4cc4d657841692777185555e1b982d\">cornea</span> resulting from the <span class=\"customMeta\" data-dictid=\"9cf83937931692777188a014337dcf\">healing</span> of ulcers or keratomalacia.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>XF</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Xerophthalmic fundus: <span class=\"customMeta\" data-dictid=\"fb7a2c30e416927771972f7df6f8c0\">Retinal</span> changes associated with chronic <span class=\"customMeta\" data-dictid=\"4941f0477a1692777202923cd79e22\">Vitamin A</span> deficiency.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/UzYqLsutM6KqGIHCGtAL1741891914.mp3", "video": ""}, {"text": "What is the first clinical manifestation of Vitamin A deficiency?", "options": [{"label": "A", "text": "Bitot spots", "correct": false}, {"label": "B", "text": "Night blindness", "correct": true}, {"label": "C", "text": "Corneal xerosis", "correct": false}, {"label": "D", "text": "Corneal ulceration", "correct": false}], "correct_answer": "B. Night blindness", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/KkDy9FOwSCx1GFvB5d4X1741892016.mp3", "video": ""}, {"text": "According to WHO criteria, which prevalence rate of night blindness indicates that xerophthalmia is a significant public health problem?", "options": [{"label": "A", "text": "Less than 0.5%", "correct": false}, {"label": "B", "text": "0.5% to 1.0%", "correct": false}, {"label": "C", "text": "More than 1.0%", "correct": true}, {"label": "D", "text": "Less than 0.01%", "correct": false}], "correct_answer": "C. More than 1.0%", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:594px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Stages</strong><strong> </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Levels in community</strong></p>\n<p><strong>(Prevalence) </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>XN</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Night blindness</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>> 1%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>X1B</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bitot spots</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>> 0.5%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>X3A</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Corneal ulceration/keratomalacia (<1/3rd of the cornea)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>> 0.01%</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>XS</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Corneal scar.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>> 0.05%</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/M7RtBXzy51rW0Qrbbt091741892105.mp3", "video": ""}, {"text": "What is the recommended dosage for Vitamin A supplementation in a 2-year-old child diagnosed with Vitamin A deficiency?", "options": [{"label": "A", "text": "50,000 IU", "correct": false}, {"label": "B", "text": "100,000 IU", "correct": false}, {"label": "C", "text": "200,000 IU", "correct": true}, {"label": "D", "text": "400,000 IU", "correct": false}], "correct_answer": "C. 200,000 IU", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong><6 months</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 months-1 year</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>> 1 year</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Day 1</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 lakh IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">Lac</span> IU</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Day 2</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 lakh IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">Lac</span> IU</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Day 14</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 lakh IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">Lac</span> IU</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/1UP6PgBM1ItOdsaMOkHm1741892238.mp3", "video": ""}, {"text": "A 32-year-old female presents with weakness, fatigue, and tingling sensations in her extremities. Upon further investigation, she has dry beriberi. Which of the following dietary habits will most likely lead to this condition?", "options": [{"label": "A", "text": "High fat, low carbohydrate diet", "correct": false}, {"label": "B", "text": "Diet predominantly of polished white rice", "correct": true}, {"label": "C", "text": "Vegan diet", "correct": false}, {"label": "D", "text": "Gluten-Free Diet", "correct": false}], "correct_answer": "B. Diet predominantly of polished white rice", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/AAWwfR3LZo6YkJPiyFyR1741892433.mp3", "video": ""}, {"text": "Which vitamin deficiency leads to the condition in the image depicted below?", "options": [{"label": "A", "text": "Vitamin E", "correct": false}, {"label": "B", "text": "Vitamin B5", "correct": false}, {"label": "C", "text": "Vitamin B2", "correct": true}, {"label": "D", "text": "Vitamin B6", "correct": false}], "correct_answer": "C. Vitamin B2", "question_images": ["https://image.prepladder.com/content/vBURXFr9zPRurqUqQqnn1734076837.png"], "explanation_images": ["https://image.prepladder.com/content/2S9ElEYvqGzLMU4srTLx1734077120.png", "https://image.prepladder.com/content/7rCzFu34XQHxyX31YX9j1734077192.png", "https://image.prepladder.com/content/qOC5CvzXKOVKxV23eewd1734077320.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:581px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vitamin B2 (Riboflavin)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sources </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Function </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Deficiency </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Milk</li>\n<li>Eggs</li>\n<li>Liver</li>\n<li>Green leafy vegetables</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Cofactor for <span class=\"customMeta\" data-dictid=\"f945849e691692777188ad7ce5b5e2\">glutathione</span> reductase.</li>\n<li>Cofactor for <span class=\"customMeta\" data-dictid=\"5b1a045f5f169277719210c0ac7a1e\">metabolism</span> of Vitamin B6, Niacin and Vitamin K</li>\n<li>Antioxidant activity.</li>\n<li>Maintenance of integrity of <span class=\"customMeta\" data-dictid=\"da3e60ac9a16927771933cdfe4327f\">mucocutaneous</span> membranes.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Angular stomatitis</li>\n<li>Glossitis</li>\n<li>Nasolabial dyssebacia</li>\n</ul>\n<p> </p>\n<p>It can also lead to</p>\n<ul>\n<li>Neuromotor dysfunction</li>\n<li>Poor wound healing</li>\n<li>Cataract</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kCwYIUhZiMp5hxxYMjZ01741892540.mp3", "video": ""}, {"text": "A 16-year-old female with dementia was brought to the emergency due to severe diarrhoea and skin lesions similar to the image given below. Investigations reveal niacin deficiency. Which of the following amino acids, if consumed in large quantities, can lead to the above condition?", "options": [{"label": "A", "text": "Leucine", "correct": true}, {"label": "B", "text": "Tryptophan", "correct": false}, {"label": "C", "text": "Threonine", "correct": false}, {"label": "D", "text": "Lysine", "correct": false}], "correct_answer": "A. Leucine", "question_images": ["https://image.prepladder.com/content/NpxhiTwpWRmZJsuOw5IF1734077542.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NHZoMRWPbGpG583GJvSY1741892659.mp3", "video": ""}, {"text": "Which of the following are NOT true regarding vitamin B9 and Vitamin B12? Both vitamin B9 and B12 deficiency lead to macrocytic anaemia. Both vitamin B9 and B12 supplementation prevent neural tube defects in pregnancy. Demyelinating neurological symptoms are associated with only Vitamin B12 deficiency. Castle's intrinsic factor is essential for folate absorption.", "options": [{"label": "A", "text": "1 and 2", "correct": false}, {"label": "B", "text": "2 and 4", "correct": true}, {"label": "C", "text": "2 and 3", "correct": false}, {"label": "D", "text": "4 only", "correct": false}], "correct_answer": "B. 2 and 4", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:664px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Folate - vitamin B9</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cobalamin - vitamin B12</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sources </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Liver; Meat; Dairy products; Eggs; Fruits; Cereals; Green leafy vegetables</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Liver; Meat; Milk; Eggs; Cheese; Synthesized by gut bacteria</p>\n<p>(not found in food of vegetable origin)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Absorption </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Absorbed from the <span class=\"customMeta\" data-dictid=\"bdbac654081692777196f9aab116f0\">proximal</span> part of the small intestine.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Absorbed in <span class=\"customMeta\" data-dictid=\"16b76d1d1c1692777200240efcb0e2\">terminal</span> ileum, <span class=\"customMeta\" data-dictid=\"d82fcb9d1f16927771836a9f6ccf14\">bound</span> to <span class=\"customMeta\" data-dictid=\"a6795c876e169277719057a1099465\">intrinsic</span> factor.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Uses </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It helps in the <span class=\"customMeta\" data-dictid=\"3fda45538a1692777199ec2a5478a5\">synthesis</span> of nucleic acids.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It helps in the <span class=\"customMeta\" data-dictid=\"3fda45538a1692777199ec2a5478a5\">synthesis</span> of <span class=\"customMeta\" data-dictid=\"bc6cd9a9f9169277720261812ea113\">fatty</span> acid(myelin) and DNA.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Deficiency </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Macrocytic anemia <strong>(Statement 1)</strong></li>\n<li>Neural tube defects in neonates</li>\n<li>No neurological symptoms <strong>(Statement 3)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Megaloblastic anemia <strong>(Statement 1)</strong></li>\n<li>Demyelinating <span class=\"customMeta\" data-dictid=\"d5e7bb15851692777191b39417c26a\">lesion</span> in the <span class=\"customMeta\" data-dictid=\"d816ba952f1692777199fc69bd7c56\">spinal</span> cord</li>\n<li>Infertility</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Requirements</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Men: 300 mcg/day.</p>\n<p>Women: 220 mcg/day.</p>\n<p>Pregnant: 570 mcg/day.</p>\n<p>Children: 120-170 mcg/day.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Adults: 2-2 mcg/day.</p>\n<p>Pregnancy: extra 0.25 mcg.</p>\n<p>Lactation: extra 1 mcg.</p>\n<p>Infants and children: 1.2 mcg.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/fgJdjCtKMzVEpToABlLv1741893042.mp3", "video": ""}, {"text": "A 16-year-old boy presents with swollen and bleeding gums, easy bruising, and small red spots on his skin. His diet mostly consists of processed foods and lacks fresh fruits and vegetables. Which of the following is the most likely cause of his symptoms?", "options": [{"label": "A", "text": "Vitamin B2", "correct": false}, {"label": "B", "text": "Vitamin C", "correct": true}, {"label": "C", "text": "Vitamin D", "correct": false}, {"label": "D", "text": "Iron", "correct": false}], "correct_answer": "B. Vitamin C", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/1bicZttdVN3C3oxIEEuJ1734077726.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"vertical-align:top\">\n<ul>\n<li>Bleeding gums</li>\n<li>Subcutaneous bruising</li>\n<li>Delayed wound healing</li>\n</ul>\n</td>\n<td style=\"vertical-align:top\">\n<ul>\n<li>Weakness</li>\n<li>Hemarthrosis</li>\n<li>Anaemia (Vitamin C is essential for the <span class=\"customMeta\" data-dictid=\"5fcb9396d1169277718069dd7fa788\">absorption</span> of iron from the diet)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/415tMFn2Yba1Kbu4GNHw1741892872.mp3", "video": ""}, {"text": "A 45-year-old woman with a past medical history of celiac disease visits the clinic complaining of fatigue, muscle weakness, and bone pain. Upon examination, she is found to have vitamin D deficiency. The doctor advises her to increase her intake of the vitamin D. All of the following are sources of this vitamin except:", "options": [{"label": "A", "text": "Sunlight exposure", "correct": false}, {"label": "B", "text": "Halibut fish", "correct": false}, {"label": "C", "text": "Fortified dairy products", "correct": false}, {"label": "D", "text": "Whole grains", "correct": true}], "correct_answer": "D. Whole grains", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/NU5OKeDoMDa05zPLIE5x1741893246.mp3", "video": ""}, {"text": "A 30-year-old woman visits a clinic complaining of fatigue, weakness, and pale skin. She has a medical history of menorrhagia, for which she sees a gynaecologist. The serum iron panel is ordered. Which of the following should the patient be advised to consume to prevent this mineral deficiency? Spinach Red meat Fortified cereals Dairy products", "options": [{"label": "A", "text": "1, 4", "correct": false}, {"label": "B", "text": "1, 2", "correct": false}, {"label": "C", "text": "1, 2, and 3", "correct": true}, {"label": "D", "text": "1, 2, 3, and 4", "correct": false}], "correct_answer": "C. 1, 2, and 3", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6oz8fpHX5zB0WUrJCtEX1741893869.mp3", "video": ""}, {"text": "Which of the following is an important epidemiological indicator for monitoring iodine deficiency in the Goiter Control program?", "options": [{"label": "A", "text": "Goiter prevalence", "correct": false}, {"label": "B", "text": "Urinary iodine excretion", "correct": true}, {"label": "C", "text": "Serum T3/T4/TSH levels", "correct": false}, {"label": "D", "text": "Prevalence of Neonatal hypothyroidism", "correct": false}], "correct_answer": "B. Urinary iodine excretion", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/pTx5NG7kfRwhTzqiDuSF1734077897.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/j6Fa9s196tirLE5UXHP41741893416.mp3", "video": ""}, {"text": "Which of the following levels of fluorine in water leads to the development of dental carries?", "options": [{"label": "A", "text": "0.3mg/L", "correct": true}, {"label": "B", "text": "1.8mg/L", "correct": false}, {"label": "C", "text": "3-6mg/L", "correct": false}, {"label": "D", "text": "&gt;10mg/L", "correct": false}], "correct_answer": "A. 0.3mg/L", "question_images": ["https://image.prepladder.com/content/2GSZuReivsC4tgvGPq5H1734078382.png"], "explanation_images": ["https://image.prepladder.com/content/r6Mj31beGsHrogLuAq9s1734078449.png", "https://image.prepladder.com/content/YnZvHfdhS43U2siO0C4A1734078615.png", "https://image.prepladder.com/content/rgp102BdVDKdL4shZrz71734087619.png", "https://image.prepladder.com/content/nL9z9nEJ0AgX3gqiWIhe1734078497.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:587px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Fluorine content in water</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Related symptoms</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong><0.5mg/L (Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dental caries </p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Suyash.dwivedi\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Dental_Caries_Cavity_2.JPG\" data-tags=\"\" height=\"320\" src=\"https://image.prepladder.com/content/r6Mj31beGsHrogLuAq9s1734078449.png\" width=\"400\"/></p>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>1.5mg/L (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Mottling of <span class=\"customMeta\" data-dictid=\"17dfb015d2169277720023db8fe9e5\">teeth</span> (dental fluorosis)</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Matthew Ferguson 57,\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Dental_fluorosis_%28mild%29.png\" data-tags=\"\" height=\"219\" src=\"https://image.prepladder.com/content/YnZvHfdhS43U2siO0C4A1734078615.png\" width=\"400\"/></p>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>3-6mg/L (Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Skeletal fluorosis</p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Mirrel\" data-hash=\"\" data-license=\"CC BY 4.0\" data-source=\"https://commons.wikimedia.org/wiki/File:Genu-Valgum.png\" data-tags=\"\" height=\"400\" src=\"https://image.prepladder.com/content/rgp102BdVDKdL4shZrz71734087619.png\" width=\"400\"/></p>\n\t\t\t \n\n\t\t\t<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>>10mg/L (Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Crippling fluorosis </p>\n<p style=\"text-align:center\"><img alt=\"\" data-author=\"Shanti Lal Choubisa\" data-hash=\"\" data-license=\"NA\" data-source=\"https://www.researchgate.net/figure/Tribal-individuals-suffering-with-crippling-severe-skeletal-fluorosis-with-paraplegia-and_fig3_361388877\" data-tags=\"\" height=\"345\" src=\"https://image.prepladder.com/content/nL9z9nEJ0AgX3gqiWIhe1734078497.png\" width=\"400\"/></p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/pbTP1VDH5iQOBSziC9Ud1741893549.mp3", "video": ""}, {"text": "A 2-year-old child is brought to the clinic with symptoms of diarrhea, alopecia, and a distinctive rash shown in the image below. The child's mother reports that the symptoms have persisted despite various treatments. Which of the following nutrient deficiencies is most likely responsible for this condition?", "options": [{"label": "A", "text": "Copper", "correct": false}, {"label": "B", "text": "Zinc", "correct": true}, {"label": "C", "text": "Chromium", "correct": false}, {"label": "D", "text": "Molybdenum", "correct": false}], "correct_answer": "B. Zinc", "question_images": ["https://image.prepladder.com/content/AqmJ9VHsYlqfB3kafq531734078872.png"], "explanation_images": ["https://image.prepladder.com/content/w3tEm7ib346rvHvWCTyc1734078954.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:500px\">\n<tbody>\n<tr>\n<td style=\"vertical-align:top\">\n<ul>\n<li>Diarrhea.</li>\n<li>Mood changes.</li>\n<li>Anorexia.</li>\n<li>Neurological disturbances.</li>\n<li>Hypogonadism</li>\n</ul>\n</td>\n<td style=\"vertical-align:top\">\n<ul>\n<li>Growth retardation.</li>\n<li>Alopecia (hair loss).</li>\n<li>Weight loss.</li>\n<li>Recurrent infections.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/opUwcPZwtuuXWigburKG1741893722.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A mother comes with her child who has papules on the extensor surfaces of the skin, which resolve with the administration of vitamins A and C and essential amino acids. What is your diagnosis?", "options": [{"label": "A", "text": "Phrynoderma", "correct": true}, {"label": "B", "text": "Rickets", "correct": false}, {"label": "C", "text": "Kwashiorkor", "correct": false}, {"label": "D", "text": "Marasmus", "correct": false}], "correct_answer": "A. Phrynoderma", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Ph\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following foods has the maximum biological value?", "options": [{"label": "A", "text": "Pulses", "correct": false}, {"label": "B", "text": "Soyabean", "correct": false}, {"label": "C", "text": "Milk", "correct": false}, {"label": "D", "text": "Egg", "correct": true}], "correct_answer": "D. Egg", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D) Egg</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:630px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:none; border-top:1px solid black; vertical-align:top\">\n<p><strong>Egg</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Importance</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Eggs are highly <span class=\"customMeta\" data-dictid=\"857226a62716927771933d4e26861b\">nutritious</span> and rich in protein, essential vitamins, & minerals.</li>\n<li>They support muscle building, brain health, and overall wellness.</li>\n<li><strong>NPU of egg is 96 (~ almost equal to 100)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Rule of 6</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>6 grams of protein</li>\n<li>6 grams of fat</li>\n<li>60 calories per large egg</li>\n<li>6 essential vitamins (A, B2, B12, D, E, K)</li>\n<li>60 grams average weight</li>\n</ul>\n<p>Others:</p>\n<ul>\n<li>6x5=30 mg Calcium</li>\n<li>6x0.25=1.5mg Iron</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following food items contains the lowest amount of iron?", "options": [{"label": "A", "text": "Liver", "correct": false}, {"label": "B", "text": "Spinach", "correct": false}, {"label": "C", "text": "Beans", "correct": false}, {"label": "D", "text": "Milk", "correct": true}], "correct_answer": "D. Milk", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which statement is correct regarding the reference woman represents the average healthy woman's nutritional needs and is used as a standard for setting the RDA ?", "options": [{"label": "A", "text": "Weight 55 kgs", "correct": true}, {"label": "B", "text": "Height 1.73 m", "correct": false}, {"label": "C", "text": "Works 10 hours/day", "correct": false}, {"label": "D", "text": "Age of 18-25 years", "correct": false}], "correct_answer": "A. Weight 55 kgs", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ reference woman</li><li>↳ Recommended Dietary Allowance (RDA)</li><li>↳ Weight 55 kgs : The reference woman is typically assumed to have a body weight of 55 kg (121 lbs). This value is used to determine the average energy and nutrient requirements.</li><li>↳ Weight 55 kgs : The reference woman is typically assumed to have a body weight of 55 kg (121 lbs). This value is used to determine the average energy and nutrient requirements.</li><li>↳ Weight 55 kgs</li><li>↳ 55 kg</li><li>↳ Height 1.73 m (Option B) : While height is a factor in determining nutritional needs, the reference woman is generally assumed to have a height of around 1.60 m (not 1.73 m).</li><li>↳ Height 1.73 m (Option B)</li><li>↳ 1.60 m</li><li>↳ Works 10 hours/day (Option C) : The reference woman is not assumed to work for a specific number of hours each day. Nutritional requirements can vary depending on physical activity, but the reference is typically for a woman with moderate activity levels.</li><li>↳ Works 10 hours/day (Option C)</li><li>↳ Age of 18-25 years (Option D) : The reference woman is not specifically limited to this age range. Nutritional needs are assessed based on a range of factors, including age, but the reference woman is generally used as an average for adult women (not limited to a specific age group).</li><li>↳ Age of 18-25 years (Option D)</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most relevant information that should be obtained from the medical history of a patient from Chhattisgarh who is experiencing gradual muscle weakness and spasms in the legs, and exhibits only motor impairment upon examination?", "options": [{"label": "A", "text": "History of similar illness in the past", "correct": false}, {"label": "B", "text": "History of fever", "correct": false}, {"label": "C", "text": "History of vaccination", "correct": false}, {"label": "D", "text": "History of diet", "correct": true}], "correct_answer": "D. History of diet", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:545px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Findings</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Cause</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Excessive consumption of <span class=\"customMeta\" data-dictid=\"fc173a5ccf16927771919025005bf3\">Lathyrus</span> sativus (Khesari dal)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Region</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Endemic in Chhattisgarh, Madhya Pradesh, Bihar, Odisha</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Symptoms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Gradual-onset <strong>spastic paraparesis</strong>, hyperreflexia</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sensory Involvement</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Absent (pure motor disorder)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Dietary restriction, government bans on Khesari dal</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following factors can contribute to the development of malnutrition?", "options": [{"label": "A", "text": "Child rearing", "correct": false}, {"label": "B", "text": "Infectious diseases", "correct": true}, {"label": "C", "text": "Food habits", "correct": false}, {"label": "D", "text": "Socioeconomic factors", "correct": false}], "correct_answer": "B. Infectious diseases", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:615px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Infection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Effect on Nutrition</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Diarrheal diseases</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Causes <strong>fluid and nutrient loss</strong>, leading to <span class=\"customMeta\" data-dictid=\"da07fd59a11692777185e23c69af5e\">dehydration</span> and malabsorption.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Tuberculosis (TB)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Increases <strong>catabolism (muscle breakdown)</strong>, leading to weight loss.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Parasitic infections (e.g., hookworm, giardiasis)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Causes <strong>iron <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> anemia, protein loss, and malabsorption</strong>.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Measles</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Leads to <strong>vitamin A deficiency</strong>, impairing immune function.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "With regards to the pasteurization of milk, which of the following tests is not related?", "options": [{"label": "A", "text": "Phosphatase test", "correct": false}, {"label": "B", "text": "Iodine test", "correct": true}, {"label": "C", "text": "Standard plate count", "correct": false}, {"label": "D", "text": "Methylene blue reduction test", "correct": false}], "correct_answer": "B. Iodine test", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "If Bajra is mixed with black seeds, what is used to separate them?", "options": [{"label": "A", "text": "20% salt water", "correct": true}, {"label": "B", "text": "Normal saline", "correct": false}, {"label": "C", "text": "10% salt water", "correct": false}, {"label": "D", "text": "Water", "correct": false}], "correct_answer": "A. 20% salt water", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - 20%\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "An 8-month-old baby on examination shows signs of vitamin A deficiency. What is the dose of vitamin A to be administered to the baby?", "options": [{"label": "A", "text": "25,000 IU IM", "correct": false}, {"label": "B", "text": "25,000 IU orally", "correct": false}, {"label": "C", "text": "100,000 IU orally", "correct": true}, {"label": "D", "text": "100,000 IU IM", "correct": false}], "correct_answer": "C. 100,000 IU orally", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - 100,000 IU orally</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong><6 months</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>6 months-1 year</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>> 1 year</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Day 0 </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">50000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 lakh IU</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">Lac</span> IU</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Day 1</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">50000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 lakh IU</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">Lac</span> IU</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Day 2</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">50000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 lakh IU</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">Lac</span> IU</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Highest sodium content is present in which of the following foods:", "options": [{"label": "A", "text": "Sugar cane", "correct": false}, {"label": "B", "text": "Barley", "correct": false}, {"label": "C", "text": "Canned soup", "correct": true}, {"label": "D", "text": "Fresh fruit juices", "correct": false}], "correct_answer": "C. Canned soup", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Canned sou\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the likely reason for the food poisoning experienced by the worker in the groundnut factory who consumed spoiled groundnuts that were stored in the facility?", "options": [{"label": "A", "text": "Beta oxalyl amino alanine", "correct": false}, {"label": "B", "text": "Smoke from factory", "correct": false}, {"label": "C", "text": "Sanguinarine", "correct": false}, {"label": "D", "text": "Aflatoxins", "correct": true}], "correct_answer": "D. Aflatoxins", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - Aflatoxins </p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Clinical features</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>Features of <span class=\"customMeta\" data-dictid=\"cbc7c810ce1692777188e6eaf3eba2\">hepatotoxicity</span> (jaundice, hepatomegaly)</li>\n<li>Hepatocellular carcinoma</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Causative agent</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Infestation of <span class=\"customMeta\" data-dictid=\"e3baadccd91692777182c9724090b3\">Aspergillus</span> flavus and <span class=\"customMeta\" data-dictid=\"e3baadccd91692777182c9724090b3\">Aspergillus</span> parasiticus over stored rice, wheat, and corn</li>\n<li>Produce mycotoxins: <span class=\"customMeta\" data-dictid=\"4435e6aa0e1692777180e2f819ad80\">aflatoxin</span> B1 & G1 (both are <span class=\"customMeta\" data-dictid=\"aad52f4a541692777188bfd2c5830b\">hepatotoxic</span> & carcinogenic)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Risk factors</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Storage temperature of 11 to 37 degree Celsius</li>\n<li>Moisture content >16%</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Prevention</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Educating people</li>\n<li>Moisture content <10% during storage</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What vitamin deficiency leads to xerophthalmia, a condition characterized by dryness of the eyes?", "options": [{"label": "A", "text": "Vitamin A", "correct": true}, {"label": "B", "text": "Vitamin B", "correct": false}, {"label": "C", "text": "Vitamin C", "correct": false}, {"label": "D", "text": "Vitamin D", "correct": false}], "correct_answer": "A. Vitamin A", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "You are administering vitamin A supplements to an 8-month-old infant for two consecutive days. What is the recommended dose?", "options": [{"label": "A", "text": "25,000 IU", "correct": false}, {"label": "B", "text": "50,000 IU", "correct": false}, {"label": "C", "text": "100,000 IU", "correct": true}, {"label": "D", "text": "200,000 IU", "correct": false}], "correct_answer": "C. 100,000 IU", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A poor farmer with a history of successive crop failure develops progressive spastic paraparesis, signs of upper motor neuron paralysis, and gait instability. Name the toxin responsible for this condition.", "options": [{"label": "A", "text": "Aflatoxin", "correct": false}, {"label": "B", "text": "Beta-oxalyl-amino-alanine", "correct": true}, {"label": "C", "text": "Ergot alkaloids", "correct": false}, {"label": "D", "text": "Fusarium toxin", "correct": false}], "correct_answer": "B. Beta-oxalyl-amino-alanine", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/zWggTQKJiEPkuy2vmDjL1745322634.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Causative agent</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>Beta-oxalyl <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> <span class=\"customMeta\" data-dictid=\"7f4e6edbc91692777181c6fa295ae7\">alanine</span> (BOAA) present in Lathyrus sativus</li>\n<li>Significant exposure : >30% <span class=\"customMeta\" data-dictid=\"c3b8b9a17416927771906b1bebb13c\">inclusion</span> in diet over 2-6 months</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Latent stage: <span class=\"customMeta\" data-dictid=\"e684325d851692777196af9e64013b\">preventive</span> can be best implemented here</li>\n<li>No stick stage: most common point of diagnosis</li>\n<li>One-stick stage: <span class=\"customMeta\" data-dictid=\"9e2d8a3f5a16927771932c2348ec52\">muscular</span> <span class=\"customMeta\" data-dictid=\"b52ddf2a451692777199b4d38e5c53\">stiffness</span> begins</li>\n<li>Two-stick stage: will need crutches</li>\n<li>Crawler stage: <span class=\"customMeta\" data-dictid=\"9e2d8a3f5a16927771932c2348ec52\">muscular</span> <span class=\"customMeta\" data-dictid=\"97ff5253fb169277718224c7b0faf8\">atrophy</span> sets in.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Vitamin C prophylaxis: 500-1000 mg per day</li>\n<li>Banning the crop</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxin removal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Steeping method: soaking in hot water for 2 hours, drained and sun-dried.</li>\n<li>Parboiling: overnight soaking in limewater.</li>\n<li>Genetic approach: selecting variants with less BOAA content and cultivating the same.</li>\n<li>Educating people.</li>\n<li>Bringing socio-economic changes.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Who is responsible for counseling and providing information to the patient, a 30-week primigravida experiencing reduced vision at night, who has been avoiding certain fruits during her pregnancy due to concerns about their potential abortifacient effects?", "options": [{"label": "A", "text": "ANM", "correct": false}, {"label": "B", "text": "AWW", "correct": false}, {"label": "C", "text": "Trained birth attendant", "correct": false}, {"label": "D", "text": "ASHA", "correct": true}], "correct_answer": "D. ASHA", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:616px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>ASHA (Accredited Social Health Activist)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p>ASHA is a woman (married, divorced, or widowed) resident of the village, aged 25-45 years, with education up to 8th grade.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Population Norm for ASHA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>The general norm is 1 <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> per 1000 population. In tribal, hilly, and desert areas, this may be relaxed to 1 <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> per habitation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Role and Responsibilities of ASHA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li><strong>Health Activist: </strong>Create awareness and provide information on health determinants, existing services, and the importance of health and family welfare.</li>\n<li><strong>Counselor</strong>: Provide counseling on birth preparedness, safe delivery, and family planning.</li>\n<li><strong>Mobilizer:</strong> Help the community access health services, such as immunizations, sanitation, and nutrition.</li>\n<li><strong>Provider: </strong>Offer basic care for common illnesses and first-aid, and act as a <span class=\"customMeta\" data-dictid=\"25116121ed169277718644b8fe30ff\">depot</span> for essential medications.</li>\n<li><strong>Community Engagement:</strong> Work with village health committees and panchayats for planning and awareness.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Specific Responsibilities of ASHA</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Promote health and <span class=\"customMeta\" data-dictid=\"18aafee1a71692777198cdc688e8aa\">sanitation</span> practices.</li>\n<li>Advise on child care, immunization, and <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> health.</li>\n<li>Assist with family planning and treatment of minor ailments.</li>\n<li>Mobilize pregnant women and children to health services</li>\n<li>Provide basic medical care and support for diarrhea, fever, and <span class=\"customMeta\" data-dictid=\"8d98ce2d3616927772013bfc3e0528\">tuberculosis</span> (under DOTS).</li>\n<li>Serve as a <span class=\"customMeta\" data-dictid=\"25116121ed169277718644b8fe30ff\">depot</span> holder for essential drugs and medical supplies.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Role and Integration with Anganwadi</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>The Anganwadi worker helps guide ASHA, particularly in organizing Health Day activities, mobilizing village women and children, and promoting <span class=\"customMeta\" data-dictid=\"05bef24e711692777193a154b462b4\">nutrition</span> and health education.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Role and Integration with ANMs (Auxiliary Nurse Midwives)</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>ANMs guide <span class=\"customMeta\" data-dictid=\"817804153a16927771822a30e05c60\">ASHA</span> in areas like immunization, safe pregnancy, and health education, and assist in organizing Health Days. ANMs also help with training and monitor ASHA's performance.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a village, it is observed that several farmers have crossed gait and use a stick for support to stand up and walk. Due to poor yield from farms, they consume meals containing rice and pulses only. Supplementing their diet with which of the following vitamins could have prevented this?", "options": [{"label": "A", "text": "Vitamin A", "correct": false}, {"label": "B", "text": "Vitamin D", "correct": false}, {"label": "C", "text": "Vitamin C", "correct": true}, {"label": "D", "text": "Vitamin B", "correct": false}], "correct_answer": "C. Vitamin C", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/JBPidkVRfW6SnCQrC3KW1745315493.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Causative agent</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>Beta-oxalyl <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">amino</span> <span class=\"customMeta\" data-dictid=\"7f4e6edbc91692777181c6fa295ae7\">alanine</span> (BOAA) present in Lathyrus sativus</li>\n<li>Significant exposure : >30% <span class=\"customMeta\" data-dictid=\"c3b8b9a17416927771906b1bebb13c\">inclusion</span> in diet over 2-6 months</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Latent stage: <span class=\"customMeta\" data-dictid=\"e684325d851692777196af9e64013b\">preventive</span> can be best implemented here</li>\n<li>No stick stage: most common point of diagnosis</li>\n<li>One-stick stage: <span class=\"customMeta\" data-dictid=\"9e2d8a3f5a16927771932c2348ec52\">muscular</span> <span class=\"customMeta\" data-dictid=\"b52ddf2a451692777199b4d38e5c53\">stiffness</span> begins</li>\n<li>Two-stick stage: will need crutches</li>\n<li>Crawler stage: <span class=\"customMeta\" data-dictid=\"9e2d8a3f5a16927771932c2348ec52\">muscular</span> <span class=\"customMeta\" data-dictid=\"97ff5253fb169277718224c7b0faf8\">atrophy</span> sets in.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Treatment</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Vitamin C prophylaxis: 500-1000 mg per day</li>\n<li>Banning the crop</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxin removal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Steeping method: soaking in hot water for 2 hours, drained and sun-dried.</li>\n<li>Parboiling: overnight soaking in limewater.</li>\n<li>Genetic approach: selecting variants with less BOAA content and cultivating the same.</li>\n<li>Educating people.</li>\n<li>Bringing socio-economic changes.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a 30-year-old woman with a body weight of 55 kg, what is the recommended daily protein intake?", "options": [{"label": "A", "text": "45gm", "correct": true}, {"label": "B", "text": "55gm", "correct": false}, {"label": "C", "text": "60gm", "correct": false}, {"label": "D", "text": "70gm", "correct": false}], "correct_answer": "A. 45gm", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - 45g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following substances should be eaten to prevent thiamine deficiency?", "options": [{"label": "A", "text": "Rice and wheat", "correct": true}, {"label": "B", "text": "Curd", "correct": false}, {"label": "C", "text": "Salad", "correct": false}, {"label": "D", "text": "Sabji (Aloo)", "correct": false}], "correct_answer": "A. Rice and wheat", "question_images": ["https://image.prepladder.com/content/oHJAbrtiZdznNgiftk811724845734.png"], "explanation_images": ["https://image.prepladder.com/content/s7LazMxsJwuvZ72blU8X1724845848.png"], "explanation": "<p>Correct Option A - Rice and wh\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A man presented with bilateral swelling of his legs, diarrhoea, and dyspnea. He has a history of consuming mustard oil from a local vendor. Which test should be performed by the health inspector to check for the adulterant?", "options": [{"label": "A", "text": "Paper Chromatography Test", "correct": true}, {"label": "B", "text": "Nitric Acid Test", "correct": false}, {"label": "C", "text": "Methylene Blue Reduction Test", "correct": false}, {"label": "D", "text": "Both B and C", "correct": false}], "correct_answer": "A. Paper Chromatography Test", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Clinical features</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Bilateral leg swelling, diarrhoea, dyspnoea, features of <span class=\"customMeta\" data-dictid=\"61e49875801692777188ad5edea804\">glaucoma</span> and <span class=\"customMeta\" data-dictid=\"1a5e87d16716927771888f364bce89\">heart failure</span> even up to death.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Causative agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Sanguinarine (toxic <span class=\"customMeta\" data-dictid=\"46a90dd28b1692777181cae2423db7\">alkaloid</span> present in <span class=\"customMeta\" data-dictid=\"b35e0d56de1692777182df513a58b6\">argemone</span> oil).</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detection of contamination</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Nitric acid test:</strong> the presence of a red-brown ring when added to the sample oil indicates the presence of <span class=\"customMeta\" data-dictid=\"b35e0d56de1692777182df513a58b6\">argemone</span> oil.</li>\n<li><strong>Paper <span class=\"customMeta\" data-dictid=\"fdf5ab514d1692777184d9fe915cba\">chromatography</span> test. Most sensitive and better than <span class=\"customMeta\" data-dictid=\"5536b77611169277719356d32e638a\">nitric</span> acid test </strong><strong>(Option A)</strong><strong> (Option B ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevention</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Accidental contamination: removing <span class=\"customMeta\" data-dictid=\"b35e0d56de1692777182df513a58b6\">argemone</span> weeds growing among oilseed crops.</li>\n<li>Deliberate contamination: enforcing Prevention of Food Adulteration Act.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Xeropthalmia is considered a public health problem if the prevalence of bitot spot is more than?", "options": [{"label": "A", "text": "0.01%", "correct": false}, {"label": "B", "text": "0.05%", "correct": false}, {"label": "C", "text": "0.5%", "correct": true}, {"label": "D", "text": "1%", "correct": false}], "correct_answer": "C. 0.5%", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A mother of a breastfeeding child only eats vegetables. Which deficiency is common in this case?", "options": [{"label": "A", "text": "Vitamin B12", "correct": true}, {"label": "B", "text": "Vitamin A", "correct": false}, {"label": "C", "text": "Vitamin D", "correct": false}, {"label": "D", "text": "Vitamin K", "correct": false}], "correct_answer": "A. Vitamin B12", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Cobalamin - vitamin B12</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Sources </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Liver; Meat; Milk; Eggs; Cheese; Synthesised by gut bacteria (not found in food of vegetable origin)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Absorption </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Absorbed in <span class=\"customMeta\" data-dictid=\"16b76d1d1c1692777200240efcb0e2\">terminal</span> ileum, <span class=\"customMeta\" data-dictid=\"d82fcb9d1f16927771836a9f6ccf14\">bound</span> to <span class=\"customMeta\" data-dictid=\"a6795c876e169277719057a1099465\">intrinsic</span> factor.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Uses </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>It helps in the <span class=\"customMeta\" data-dictid=\"3fda45538a1692777199ec2a5478a5\">synthesis</span> of <span class=\"customMeta\" data-dictid=\"bc6cd9a9f9169277720261812ea113\">fatty</span> acid(myelin) and DNA.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Deficiency </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Megaloblastic anemia</li>\n<li>Demyelinating <span class=\"customMeta\" data-dictid=\"d5e7bb15851692777191b39417c26a\">lesion</span> in the <span class=\"customMeta\" data-dictid=\"d816ba952f1692777199fc69bd7c56\">spinal</span> cord</li>\n<li>Infertility</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Requirements</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Adults: 2-2 mcg/day.</li>\n<li>Pregnancy: extra 0.25 mcg.</li>\n<li>Lactation: extra 1 mcg.</li>\n<li>Infants and children: 1.2 mcg.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Iron absorption is decreased in which of the following?", "options": [{"label": "A", "text": "Amla", "correct": false}, {"label": "B", "text": "Sprouting", "correct": false}, {"label": "C", "text": "Tea", "correct": true}, {"label": "D", "text": "Lemon", "correct": false}], "correct_answer": "C. Tea", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What are the potential effects of folic acid deficiency during pregnancy?", "options": [{"label": "A", "text": "Neural tube defects", "correct": true}, {"label": "B", "text": "Preterm labour", "correct": false}, {"label": "C", "text": "Pernicious anemia", "correct": false}, {"label": "D", "text": "Iron deficiency anemia", "correct": false}], "correct_answer": "A. Neural tube defects", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following mineral deficiency is associated with sexual dysfunction?", "options": [{"label": "A", "text": "Zinc", "correct": true}, {"label": "B", "text": "Copper", "correct": false}, {"label": "C", "text": "Magnesium", "correct": false}, {"label": "D", "text": "Molybdenum", "correct": false}], "correct_answer": "A. Zinc", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/PB1j19hn6qNND3YvK2iE1718215729.png"], "explanation": "<p>Correct Option A – Z\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 5-year-old has the following anthropometric findings: Weight/age &lt; -3.2 SD, Height/age &lt; -2.5 SD, Weight/height &lt; -1.7 SD. Under which of the following categories would this child be classified?", "options": [{"label": "A", "text": "Acute malnutrition", "correct": false}, {"label": "B", "text": "Chronic malnutrition", "correct": true}, {"label": "C", "text": "Acute on chronic malnutrition", "correct": false}, {"label": "D", "text": "Severe malnutrition", "correct": false}], "correct_answer": "B. Chronic malnutrition", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Chronic malnu\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Wasting in a child is assessed by which of the following measures?", "options": [{"label": "A", "text": "Weight-for-height", "correct": true}, {"label": "B", "text": "Weight-for-age", "correct": false}, {"label": "C", "text": "Height-for-weight", "correct": false}, {"label": "D", "text": "Height-for-age", "correct": false}], "correct_answer": "A. Weight-for-height", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- Weight-for-heigh\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a 30-year-old male presenting with bleeding gums and iron deficiency anemia, which vitamin deficiency would you anticipate?", "options": [{"label": "A", "text": "Vitamin A", "correct": false}, {"label": "B", "text": "Vitamin B1", "correct": false}, {"label": "C", "text": "Vitamin C", "correct": true}, {"label": "D", "text": "Vitamin D", "correct": false}], "correct_answer": "C. Vitamin C", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Vitamin C\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A woman develops edema, visual disturbances, and heart failure after consuming a food item. What is the most likely adulterant?", "options": [{"label": "A", "text": "Sanguinarine", "correct": true}, {"label": "B", "text": "BOAA", "correct": false}, {"label": "C", "text": "Pyrrolizidine", "correct": false}, {"label": "D", "text": "Aflatoxin", "correct": false}], "correct_answer": "A. Sanguinarine", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- Sangu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In endemic area what will be the dose of Vitamin A for 1-6 year old baby?", "options": [{"label": "A", "text": "2 lakh IU orally for 6 months", "correct": true}, {"label": "B", "text": "1 lakh IU orally for 6 months", "correct": false}, {"label": "C", "text": "2 lakh IU for 6 weeks", "correct": false}, {"label": "D", "text": "2 lakh IU for 1 year", "correct": false}], "correct_answer": "A. 2 lakh IU orally for 6 months", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - 2 lakh IU orally for 6 month\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Criteria of mid arm circumference in Shakir's tape for severe acute malnutrition ?", "options": [{"label": "A", "text": "&lt; 11.5", "correct": true}, {"label": "B", "text": "&lt;12.5", "correct": false}, {"label": "C", "text": "&lt;13.5", "correct": false}, {"label": "D", "text": "&lt;14.5", "correct": false}], "correct_answer": "A. < 11.5", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - &lt; 11.5\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 3 year old child came in the opd with severe diarrhea , vomiting, skin, deeply sunken eyes and no urine output. On examination baby is severely dehydrated, lethargic,high respiratory rate and BP of 80/60mmHg. Which fluid is given for management?", "options": [{"label": "A", "text": "ORS", "correct": false}, {"label": "B", "text": "Ringer lactate with 5% dextrose", "correct": true}, {"label": "C", "text": "Normal Saline", "correct": false}, {"label": "D", "text": "Dextrose", "correct": false}], "correct_answer": "B. Ringer lactate with 5% dextrose", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Ringer <span class=\"customMeta\" data-dictid=\"5a751dc161169277719123aae1b764\">Lactate</span> with 5%\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What concentration of fluoride is typically associated with causing crippling fluorosis?", "options": [{"label": "A", "text": "&gt; 10 mg/L", "correct": true}, {"label": "B", "text": "&gt; 6 mg/L", "correct": false}, {"label": "C", "text": "&gt; 3 mg/L", "correct": false}, {"label": "D", "text": "&gt; 1.5 mg/L", "correct": false}], "correct_answer": "A. > 10 mg/L", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A- &gt; 10 mg/L</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Fluoride (mg/L)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:1px solid #9a9a9a; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Effects</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Less than 0.5</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Dental cavities</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>0.5–1.0</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Protection against <span class=\"customMeta\" data-dictid=\"02cf7655661692777185e2bf5c3254\">dental</span> cavities. Good for bone and teeth.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>1.5–3.0</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Dental fluorosis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>3.0–10</p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Skeletal fluorosis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:1px solid #9a9a9a; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p><strong>10 or more</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #9a9a9a; border-left:none; border-right:1px solid #9a9a9a; border-top:none; vertical-align:top\">\n<p>Crippling skeletal <span class=\"customMeta\" data-dictid=\"bcf8138ea016927772034f9286529e\">fluorosis</span> and severe osteosclerosis</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Drinking Water Quality Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Recommended Value</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Microbiological Aspects</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Coliform Bacteria (E. coli)</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>0 coliforms per 100ml of <span class=\"customMeta\" data-dictid=\"e0b9b6647b1692777196072340adcd\">potable</span> water</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Chemical Properties</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Chlorides</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Maximum: 600 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Hardness</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>100-300 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Total Dissolved Solids (TDS)</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Less than 600 mg/L (good), permissible up to 1000 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Lead</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>0.01 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Fluoride</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>0.5-0.8 mg/L</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Nitrate</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>< 50 mg/L</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Physical Properties</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Turbidity</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Up to 5 NTU (Nephelometric Turbidity Unit)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Color</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:none; border-right:1px solid #131314; border-top:none; vertical-align:top\">\n<p>Up to 15 TCU (True Color Unit) or 5 Hazen units</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The objective of the Mid Day Meal Programme is to provide additional support:", "options": [{"label": "A", "text": "1/2 protein and 1/3 calorie requirements", "correct": true}, {"label": "B", "text": "1/3 protein and 1/3 calorie requirements", "correct": false}, {"label": "C", "text": "1/2 protein and 1/2 calorie requirements", "correct": false}, {"label": "D", "text": "1/3 protein and 1/2 calorie requirements", "correct": false}], "correct_answer": "A. 1/2 protein and 1/3 calorie requirements", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A. \n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most commonly used method of pasteurization nowadays?", "options": [{"label": "A", "text": "Holder (VAT) method", "correct": false}, {"label": "B", "text": "Ultra high temperature method", "correct": false}, {"label": "C", "text": "High temperature and short time method", "correct": true}, {"label": "D", "text": "Low temperature and long time method", "correct": false}], "correct_answer": "C. High temperature and short time method", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Pasteurization Method</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Description</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>High Temperature Short Time (HTST)</p>\n</td>\n<td>\n<p>In HTST pasteurization, the product is heated to a high temperature (usually around 72°C to 74°C) for a short period of time (typically 15 to 30 seconds). This method helps to eliminate harmful pathogens while preserving the flavor and nutritional qualities of the product. It is commonly used for milk and dairy products.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Low Temperature Long Time (LTLT)</p>\n</td>\n<td>\n<p>LTLT <span class=\"customMeta\" data-dictid=\"cd22f1b6b71692777194d7bd9c9a5a\">pasteurization</span> involves heating the product at a lower temperature (usually around 63°C) for a longer duration (typically 30 minutes). This method is commonly used for certain juices, as well as beer and wine, to destroy spoilage microorganisms while minimizing the impact on flavor and quality.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Ultra-High Temperature (UHT)</p>\n</td>\n<td>\n<p>UHT <span class=\"customMeta\" data-dictid=\"cd22f1b6b71692777194d7bd9c9a5a\">pasteurization</span> involves heating the product at a very high temperature (usually around 135°C to 150°C) for a very short time (2 to 5 seconds). This process effectively kills both harmful bacteria and spoilage microorganisms, extending the shelf life of the product without the need for <span class=\"customMeta\" data-dictid=\"66802d2b3916927771977ebb4da718\">refrigeration</span> until opened. UHT <span class=\"customMeta\" data-dictid=\"cd22f1b6b71692777194d7bd9c9a5a\">pasteurization</span> is commonly used for products like milk, cream, and fruit juices.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Batch (Vat) Pasteurization</p>\n</td>\n<td>\n<p>Batch pasteurization, also known as vat pasteurization, involves heating the product in a batch or vat to a specific temperature (usually around 63°C to 66°C) for a predetermined time (typically 30 minutes). It is commonly used for small-scale or artisanal production of dairy products, such as cheese, to achieve the desired level of <span class=\"customMeta\" data-dictid=\"04f4b6dbf71692777192ca0c4f70fa\">microbial</span> safety while preserving the product's unique characteristics.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Ultra-Short Time (UST) Pasteurization</p>\n</td>\n<td>\n<p>UST <span class=\"customMeta\" data-dictid=\"cd22f1b6b71692777194d7bd9c9a5a\">pasteurization</span> is a newer method that utilizes high-frequency electric fields to rapidly heat and cool the product. It involves exposing the product to pulsed electric fields for a very short time (less than a second), effectively eliminating pathogens and extending shelf life. UST <span class=\"customMeta\" data-dictid=\"cd22f1b6b71692777194d7bd9c9a5a\">pasteurization</span> is still being researched and developed for commercial applications.</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which vitamin is responsible for aiding in the absorption of iron?", "options": [{"label": "A", "text": "Vitamin A", "correct": false}, {"label": "B", "text": "Vitamin B", "correct": false}, {"label": "C", "text": "Vitamin C", "correct": true}, {"label": "D", "text": "Vitamin E", "correct": false}], "correct_answer": "C. Vitamin C", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the cause of Wernicke encephalopathy?", "options": [{"label": "A", "text": "Thiamine", "correct": true}, {"label": "B", "text": "Biotin", "correct": false}, {"label": "C", "text": "Niacin", "correct": false}, {"label": "D", "text": "Hydroxycobalamin", "correct": false}], "correct_answer": "A. Thiamine", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most effective way to assess chronic malnutrition in a child?", "options": [{"label": "A", "text": "Weight for height", "correct": false}, {"label": "B", "text": "Weight for age", "correct": false}, {"label": "C", "text": "Height for age", "correct": true}, {"label": "D", "text": "Ponderal index", "correct": false}], "correct_answer": "C. Height for age", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C:</p>\n<p><strong>References:</strong></p>\n<ul><li>↳ The best evaluation for chronic malnutrition in a child is done by assessing the height for age.</li><li>↳ Height for age, also known as stunting, is a commonly used indicator to assess chronic malnutrition in children. It measures the child's height in relation to their age and compares it to standardized growth charts or reference populations. This indicator provides valuable information about the child's long-term nutritional status and growth trajectory.</li><li>↳ Chronic malnutrition refers to the condition where a child experiences prolonged inadequate nutrient intake, which can lead to impaired growth and development.</li><li>↳ Height for age reflects the cumulative effects of undernutrition over time, indicating whether a child has experienced stunted growth compared to their peers of the same age.</li><li>↳ Incorrect Options:</li><li>↳ Incorrect Options:</li><li>↳ Option A . Weight for height: Weight for height, also known as wasting or acute malnutrition, is used to assess acute nutritional status and is more indicative of recent weight loss or inadequate weight gain. It is not the most appropriate indicator for evaluating chronic malnutrition.</li><li>↳ Option A</li><li>↳ Option B: Weight for age: Weight for age is a commonly used indicator to assess underweight or general malnutrition. It compares a child's weight to the average weight of children of the same age. While it can provide insights into overall nutritional status, it is not specific to chronic malnutrition.</li><li>↳ Option B:</li><li>↳ Option D . Ponderal index: Ponderal index is calculated by dividing the weight in kilograms by the cube of the height in meters. It is used to assess body composition and can provide information about body proportionality. However, it is not specifically used to evaluate chronic malnutrition.</li><li>↳ Option D</li></u\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"text-align:center\"><strong>Markers for Malnutrition</strong></td>\n</tr>\n<tr>\n<td>\n<p>Acute malnutrition</p>\n</td>\n<td>\n<ul>\n<li>Low weight for height</li>\n<li>Measure of emaciation/wasting</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Chronic malnutrition</p>\n</td>\n<td>\n<ul>\n<li>Low height for age</li>\n<li>Measure of stunting</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td>\n<p>Acute on chronic malnutrition</p>\n</td>\n<td>\n<ul>\n<li>Low weight for age</li>\n<li>Measure for underweight</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most effective treatment for idiopathic thrombocytopenic purpura among the options provided?", "options": [{"label": "A", "text": "IV immunoglobulins", "correct": false}, {"label": "B", "text": "Steroids", "correct": false}, {"label": "C", "text": "Splenectomy", "correct": true}, {"label": "D", "text": "Blood transfusion", "correct": false}], "correct_answer": "C. Splenectomy", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C- S\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As per the recommended dietary allowance, what is the prescribed dosage of iodine for lactating women in India?", "options": [{"label": "A", "text": "200 μg/day", "correct": false}, {"label": "B", "text": "220 μg/day", "correct": false}, {"label": "C", "text": "250 μg/day", "correct": false}, {"label": "D", "text": "280 μg/day", "correct": true}], "correct_answer": "D. 280 μg/day", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D: 280 μg\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Age Group</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Recommended Dietary <span class=\"customMeta\" data-dictid=\"f8330e788f16927771812e4f73b80c\">Allowance</span> (RDA) of Iodine</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Infants (0-6 months)</p>\n</td>\n<td>\n<p>90 micrograms per day</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Infants (7-12 months)</p>\n</td>\n<td>\n<p>90 micrograms per day</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Children (1-9 years)</p>\n</td>\n<td>\n<p>90 micrograms per day</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Children (10-12 years)</p>\n</td>\n<td>\n<p>120 micrograms per day</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Adolescents (boys and girls 13-18 years)</p>\n</td>\n<td>\n<p>150 micrograms per day</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Adults (men and non-pregnant women)</p>\n</td>\n<td>\n<p>150 micrograms per day</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Pregnant women</p>\n</td>\n<td>\n<p>250 micrograms per day</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Lactating women</p>\n</td>\n<td>\n<p>280 micrograms per day</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What BMI value is generally considered extremely low and associated with a higher risk of severe health complications in men? a. BMI &lt; 10 b. BMI &lt; 15 c. d.", "options": [{"label": "A", "text": "BMI &lt; 15", "correct": true}, {"label": "B", "text": "BMI &lt; 20", "correct": false}, {"label": "C", "text": "BMI &lt; 25", "correct": false}, {"label": "D", "text": "BMI &lt; 30", "correct": false}], "correct_answer": "A. BMI < 15", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p><strong>BMI Range (kg/m²)</strong></p>\n</td>\n<td>\n<p><strong>Classification</strong></p>\n</td>\n<td>\n<p><strong>Men</strong></p>\n</td>\n<td>\n<p><strong>Women</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Below 16.0</p>\n</td>\n<td>\n<p>Severe malnutrition</p>\n</td>\n<td>\n<p>Below 16.0</p>\n</td>\n<td>\n<p>Below 16.0</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>16.0 - 16.9</p>\n</td>\n<td>\n<p>Moderate malnutrition</p>\n</td>\n<td>\n<p>16.0 - 16.9</p>\n</td>\n<td>\n<p>16.0 - 16.9</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>17.0 - 18.4</p>\n</td>\n<td>\n<p>Mild malnutrition</p>\n</td>\n<td>\n<p>17.0 - 18.4</p>\n</td>\n<td>\n<p>17.0 - 18.4</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>18.5 - 24.9</p>\n</td>\n<td>\n<p>Normal weight</p>\n</td>\n<td>\n<p>18.5 - 24.9</p>\n</td>\n<td>\n<p>18.5 - 24.9</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>25.0 - 29.9</p>\n</td>\n<td>\n<p>Overweight</p>\n</td>\n<td>\n<p>25.0 - 29.9</p>\n</td>\n<td>\n<p>25.0 - 29.9</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>30.0 - 34.9</p>\n</td>\n<td>\n<p>Obesity Class I</p>\n</td>\n<td>\n<p>30.0 - 34.9</p>\n</td>\n<td>\n<p>30.0 - 34.9</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>35.0 - 39.9</p>\n</td>\n<td>\n<p>Obesity Class II</p>\n</td>\n<td>\n<p>35.0 - 39.9</p>\n</td>\n<td>\n<p>35.0 - 39.9</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>40.0 and above</p>\n</td>\n<td>\n<p>Obesity Class III</p>\n</td>\n<td>\n<p>40.0 and above</p>\n</td>\n<td>\n<p>40.0 and above</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not employed in evaluating body fat?", "options": [{"label": "A", "text": "Quetelet’s index", "correct": false}, {"label": "B", "text": "Total body potassium", "correct": false}, {"label": "C", "text": "Total body water", "correct": false}, {"label": "D", "text": "Breslow index", "correct": true}], "correct_answer": "D. Breslow index", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D: B\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Assessment Method</strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>BODY FAT ASSESSMENT</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Body Mass Index (BMI)</strong></p>\n</td>\n<td>\n<p>Calculated by dividing an individual's weight (in kilograms) by the square of their height (in meters).</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Dual-Energy <span class=\"customMeta\" data-dictid=\"fd0c8ab494169277720227102dc79a\">X-ray</span> <span class=\"customMeta\" data-dictid=\"535c34a5c516927771801ee5909c2e\">Absorptiometry</span> (DXA)</strong></p>\n</td>\n<td>\n<p>A precise method that measures body composition, including bone mineral density, lean mass, and fat mass, using low-dose X-rays.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Skinfold <span class=\"customMeta\" data-dictid=\"facd67f6341692777200653d383689\">Thickness</span> Measurement</strong></p>\n</td>\n<td>\n<p>Measures the <span class=\"customMeta\" data-dictid=\"facd67f6341692777200653d383689\">thickness</span> of <span class=\"customMeta\" data-dictid=\"d446e62c6c1692777199896fc1d4b9\">subcutaneous</span> fat at specific sites on the body using calipers.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Bioelectrical <span class=\"customMeta\" data-dictid=\"5506888d131692777189948dbb6f26\">Impedance</span> Analysis (BIA)</strong></p>\n</td>\n<td>\n<p>Uses electrical <span class=\"customMeta\" data-dictid=\"5506888d131692777189948dbb6f26\">impedance</span> to estimate body composition. A low-level electrical current is passed through the body, measuring resistance.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Air <span class=\"customMeta\" data-dictid=\"5a50cd774d1692777186c56ec68eac\">Displacement</span> <span class=\"customMeta\" data-dictid=\"5e7bc7da6d16927771950fcdea984a\">Plethysmography</span> (ADP)</strong></p>\n</td>\n<td>\n<p>Involves measuring body volume and density by sitting inside a small chamber that uses air displacement.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Hydrostatic Weighing</strong></p>\n</td>\n<td>\n<p>Determines body density by measuring a person's weight while submerged underwater.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Near-Infrared Interactance</strong></p>\n</td>\n<td>\n<p>Measures the reflection and <span class=\"customMeta\" data-dictid=\"5fcb9396d1169277718069dd7fa788\">absorption</span> of near-infrared light to estimate body fat content.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Waist Circumference</strong></p>\n</td>\n<td>\n<p>Measures the <span class=\"customMeta\" data-dictid=\"0e190b1ed716927771848781259060\">circumference</span> of the waist, providing an <span class=\"customMeta\" data-dictid=\"2f73e160ba1692777190d65065c95b\">indirect</span> indicator of <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> fat and health risks.</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Normal Waist to hip-ratio in male is:", "options": [{"label": "A", "text": "&gt;0.8 in males", "correct": false}, {"label": "B", "text": "&gt;0.85 in females", "correct": false}, {"label": "C", "text": "&gt;0.90 males", "correct": false}, {"label": "D", "text": "&lt;0.90 males", "correct": true}], "correct_answer": "D. <0.90 males", "question_images": [], "explanation_images": [], "explanation": "<p>Correct option D: \n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the purpose of administering ORS plus Zinc to a patient from a rural village?", "options": [{"label": "A", "text": "Reduces infection", "correct": false}, {"label": "B", "text": "Antispasmodic", "correct": false}, {"label": "C", "text": "Reduces duration of diarrhea", "correct": true}, {"label": "D", "text": "Enhance sodium absorption", "correct": false}], "correct_answer": "C. Reduces duration of diarrhea", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Beri-Beri seen in?", "options": [{"label": "A", "text": "Sorghum eaters", "correct": false}, {"label": "B", "text": "Wheat esters", "correct": false}, {"label": "C", "text": "Polished rice eaters", "correct": true}, {"label": "D", "text": "Maize eaters", "correct": false}], "correct_answer": "C. Polished rice eaters", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p>Aspect</p>\n</td>\n<td>\n<p>BERI BERI</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Definition</p>\n</td>\n<td>\n<p>Beriberi is a condition resulting from a <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> of <span class=\"customMeta\" data-dictid=\"b70d1dbde516927772000d7774d2a5\">thiamine</span> (vitamin B1) in the body.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"3\">\n<p>Types</p>\n<p> </p>\n</td>\n<td>\n<p>1. <strong>Wet beriberi</strong>: Affects the <span class=\"customMeta\" data-dictid=\"e2b5f013011692777183ea1b11ed9c\">cardiovascular</span> system, causing <span class=\"customMeta\" data-dictid=\"1a5e87d16716927771888f364bce89\">heart failure</span> and <span class=\"customMeta\" data-dictid=\"18b452e75916927771864c9ad533e1\">edema</span> (swelling).</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>2. <strong>Dry beriberi</strong>: Affects the nervous system, leading to muscle weakness, tingling, and <span class=\"customMeta\" data-dictid=\"3820ba101416927771858fe257e119\">coordination</span> issues.</p>\n</td>\n</tr>\n<tr>\n<td>3.<strong> Infantile beriberi</strong>: Affects infants 2-4 months breast-fed by <span class=\"customMeta\" data-dictid=\"b70d1dbde516927772000d7774d2a5\">thiamine</span> deficient mother</td>\n</tr>\n<tr>\n<td>\n<p>Causes</p>\n</td>\n<td>\n<p>Inadequate <span class=\"customMeta\" data-dictid=\"6cdcd39cf2169277719068e247e38d\">intake</span> of thiamine-rich foods, such as whole grains, legumes, nuts, and pork.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"2\">\n<p>Risk Factors</p>\n<p> </p>\n</td>\n<td>\n<p>1. Poor diet lacking in essential nutrients, especially thiamine.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>2. Alcoholism: Alcohol can interfere with <span class=\"customMeta\" data-dictid=\"b70d1dbde516927772000d7774d2a5\">thiamine</span> <span class=\"customMeta\" data-dictid=\"5fcb9396d1169277718069dd7fa788\">absorption</span> and increase its excretion.</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"3\">\n<p>Symptoms</p>\n<p> </p>\n</td>\n<td>\n<p>1. Wet beriberi: Shortness of breath, rapid heart rate, fatigue, swelling, and enlarged heart.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>2. Dry beriberi: Muscle weakness, <span class=\"customMeta\" data-dictid=\"255674f3271692777195c172d86daf\">peripheral</span> neuropathy, loss of coordination, and weight loss.</p>\n</td>\n</tr>\n<tr>\n<td>3.Infantile beriberi: Shows signs of <span class=\"customMeta\" data-dictid=\"255674f3271692777195c172d86daf\">peripheral</span> neuropathy</td>\n</tr>\n<tr>\n<td>\n<p>Diagnosis</p>\n</td>\n<td>\n<p>Medical history, physical examination, assessment of symptoms, blood tests to measure <span class=\"customMeta\" data-dictid=\"b70d1dbde516927772000d7774d2a5\">thiamine</span> levels.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Treatment</p>\n</td>\n<td>\n<p>Thiamine supplementation through oral or <span class=\"customMeta\" data-dictid=\"27b78a96071692777190f4dfb93430\">intravenous</span> administration, improvement of diet quality.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Prevention</p>\n</td>\n<td>\n<p>Adequate <span class=\"customMeta\" data-dictid=\"b70d1dbde516927772000d7774d2a5\">thiamine</span> <span class=\"customMeta\" data-dictid=\"6cdcd39cf2169277719068e247e38d\">intake</span> through a balanced diet, especially foods rich in thiamine.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Complications</p>\n</td>\n<td>\n<p>If left untreated, <span class=\"customMeta\" data-dictid=\"8e0f24408f1692777182885a574cc7\">beriberi</span> can lead to severe complications, including <span class=\"customMeta\" data-dictid=\"1a5e87d16716927771888f364bce89\">heart failure</span> or Wernicke-Korsakoff syndrome.</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the recommended treatment for a 1-year-old patient diagnosed with Keratomalacia?", "options": [{"label": "A", "text": "1 Lac IU once", "correct": false}, {"label": "B", "text": "1 Lac IU three times", "correct": true}, {"label": "C", "text": "2 Lac IU once", "correct": false}, {"label": "D", "text": "2 Lac IU three times", "correct": false}], "correct_answer": "B. 1 Lac IU three times", "question_images": [], "explanation_images": [], "explanation": "\n<table style=\"width:100%\">\n<tbody>\n<tr>\n<td> </td>\n<td>\n<p style=\"text-align:center\"><strong><6 months </strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>6 months - 1 year </strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>> 1 year</strong></p>\n</td>\n</tr>\n<tr>\n<td>Day 0 </td>\n<td>50000 IU </td>\n<td>1 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">lac</span> IU </td>\n<td>2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">lac</span> IU </td>\n</tr>\n<tr>\n<td>Day 1 </td>\n<td>50000 IU</td>\n<td>1 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">lac</span> IU</td>\n<td>2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">lac</span> IU</td>\n</tr>\n<tr>\n<td>Day 2 </td>\n<td>50000 IU</td>\n<td>1 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">lac</span> IU</td>\n<td>2 <span class=\"customMeta\" data-dictid=\"747531de8416927771915b0ec79f73\">lac</span> IU</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How does the protein content of human milk compare to that of cow milk?", "options": [{"label": "A", "text": "3-4 times more than cow milk", "correct": false}, {"label": "B", "text": "3-4 times less than cow milk", "correct": true}, {"label": "C", "text": "Double than cow milk", "correct": false}, {"label": "D", "text": "Same as cow milk", "correct": false}], "correct_answer": "B. 3-4 times less than cow milk", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Components </strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Cow (100 ml)</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Beffalo (100 ml)</strong></p>\n</td>\n<td>\n<p style=\"text-align: center;\"><strong>Human (100 ml)</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Protein (g)</p>\n</td>\n<td>\n<p>3.2</p>\n</td>\n<td>\n<p>6.5</p>\n</td>\n<td>\n<p>1.1</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Fat (g)</p>\n</td>\n<td>\n<p>4.1</p>\n</td>\n<td>\n<p>4.3</p>\n</td>\n<td>\n<p>3.4</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Lactose (g)</p>\n</td>\n<td>\n<p>4.4</p>\n</td>\n<td>\n<p>5.1</p>\n</td>\n<td>\n<p>7.4</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Calcium (mg)</p>\n</td>\n<td>\n<p>120</p>\n</td>\n<td>\n<p>210</p>\n</td>\n<td>\n<p>28</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Energy (kcal)</p>\n</td>\n<td>\n<p>67</p>\n</td>\n<td>\n<p>117</p>\n</td>\n<td>\n<p>65</p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to WHO, marker for obesity Index is:", "options": [{"label": "A", "text": "Quetelet index", "correct": true}, {"label": "B", "text": "Chandler index", "correct": false}, {"label": "C", "text": "Pearl index", "correct": false}, {"label": "D", "text": "Sullivan's index", "correct": false}], "correct_answer": "A. Quetelet index", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/wX9XVLdhEt8KVI8AwXQt1695807242.png"], "explanation": "<p>Correct Option A\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A community medicine student was required to discuss the various natural sources of Vitamin A. Among the options listed below, which one offers the highest concentration of Vitamin A naturally?", "options": [{"label": "A", "text": "Carrot", "correct": false}, {"label": "B", "text": "Halibut liver oil", "correct": true}, {"label": "C", "text": "Cod fish oil", "correct": false}, {"label": "D", "text": "Cow milk", "correct": false}], "correct_answer": "B. Halibut liver oil", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which is the most suitable indicator to determine the nutritional value of protein?", "options": [{"label": "A", "text": "Serum albumin concentration", "correct": true}, {"label": "B", "text": "Arm-muscle circumference", "correct": false}, {"label": "C", "text": "Creatinine-height index", "correct": false}, {"label": "D", "text": "Serum transferrin level", "correct": false}], "correct_answer": "A. Serum albumin concentration", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A\n<p><strong>References:</strong></p>\n<ul><li>↳ Serum albumin is a protein produced by the liver and is the most abundant protein in the blood. It plays a crucial role in maintaining osmotic pressure, transporting substances such as hormones and drugs, and regulating fluid balance in the body. Serum albumin also contributes to the transport and distribution of various nutrients, including fatty acids, vitamins, and minerals.</li><li>↳ It plays a crucial role in maintaining osmotic pressure, transporting substances such as hormones and drugs, and regulating fluid balance in the body. Serum albumin also contributes to the transport and distribution of various nutrients, including fatty acids, vitamins, and minerals.</li><li>↳ It plays a crucial role in maintaining osmotic pressure, transporting substances such as hormones and drugs, and regulating fluid balance in the body.</li><li>↳ Serum albumin also contributes to the transport and distribution of various nutrients, including fatty acids, vitamins, and minerals.</li><li>↳ Serum albumin concentration is commonly measured through blood tests, and it serves as an important indicator of nutritional status and overall health. Low serum albumin levels may indicate malnutrition, liver disease, kidney disease, or chronic inflammation. High serum albumin levels are less common and may be seen in conditions such as dehydration or severe burns.</li><li>↳ Low serum albumin levels may indicate malnutrition, liver disease, kidney disease, or chronic inflammation. High serum albumin levels are less common and may be seen in conditions such as dehydration or severe burns.</li><li>↳ Low serum albumin levels may indicate malnutrition, liver disease, kidney disease, or chronic inflammation.</li><li>↳ High serum albumin levels are less common and may be seen in conditions such as dehydration or severe burns.</li><li>↳ Serum albumin concentration is influenced by various factors: Nutritional status: Inadequate protein intake or malnutrition can lead to low serum albumin levels. Liver function: Liver diseases such as cirrhosis or hepatitis can affect albumin production and result in decreased levels. Kidney function: Impaired kidney function may affect albumin excretion and result in increased or decreased levels depending on the underlying cause. Inflammation and chronic diseases: Inflammatory conditions, such as infections or autoimmune diseases, can cause changes in serum albumin concentration.</li><li>↳ Nutritional status: Inadequate protein intake or malnutrition can lead to low serum albumin levels. Liver function: Liver diseases such as cirrhosis or hepatitis can affect albumin production and result in decreased levels. Kidney function: Impaired kidney function may affect albumin excretion and result in increased or decreased levels depending on the underlying cause. Inflammation and chronic diseases: Inflammatory conditions, such as infections or autoimmune diseases, can cause changes in serum albumin concentration.</li><li>↳ Nutritional status: Inadequate protein intake or malnutrition can lead to low serum albumin levels.</li><li>↳ Liver function: Liver diseases such as cirrhosis or hepatitis can affect albumin production and result in decreased levels.</li><li>↳ Kidney function: Impaired kidney function may affect albumin excretion and result in increased or decreased levels depending on the underlying cause.</li><li>↳ Inflammation and chronic diseases: Inflammatory conditions, such as infections or autoimmune diseases, can cause changes in serum albumin concentration.</li><li>↳ Monitoring serum albumin concentration can help assess nutritional status, evaluate liver and kidney function, and monitor response to treatment in various medical conditions.</li><li>↳ Normal serum albumin levels typically range between 3.5 to 5.5 grams per deciliter (g/dL) or 35 to 55 grams per liter (g/L), although specific reference ranges may vary depending on the laboratory and population.</li></u\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Keshan's disease is caused by a lack of", "options": [{"label": "A", "text": "Selenium", "correct": true}, {"label": "B", "text": "Zinc", "correct": false}, {"label": "C", "text": "Copper", "correct": false}, {"label": "D", "text": "Iron", "correct": false}], "correct_answer": "A. Selenium", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What type of anemia is caused by a deficiency of Vitamin B12?", "options": [{"label": "A", "text": "Microcytic hypochromic", "correct": false}, {"label": "B", "text": "Macrocytic hypochromic", "correct": true}, {"label": "C", "text": "Normocytic normochromic", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "B. Macrocytic hypochromic", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What methods would you employ to identify Vitamin A Deficiency in a school setting?", "options": [{"label": "A", "text": "Retinol", "correct": false}, {"label": "B", "text": "Night blindness", "correct": true}, {"label": "C", "text": "Carotene", "correct": false}, {"label": "D", "text": "Bitot spots", "correct": false}], "correct_answer": "B. Night blindness", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In Marasmus, the mid-arm muscle circumference is less than:", "options": [{"label": "A", "text": "11.5 cm", "correct": true}, {"label": "B", "text": "17 cm", "correct": false}, {"label": "C", "text": "19 cm", "correct": false}, {"label": "D", "text": "21 cm", "correct": false}], "correct_answer": "A. 11.5 cm", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/l40zhSiReUqyYwDHd9Zn1687179717.png"], "explanation": "<p>Correct Option A: 11.5\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align:center\"><strong>MUAC (cm)</strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>Inference</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align:center\">> 13.5 cm</p>\n</td>\n<td>\n<p style=\"text-align:center\">Normal</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align:center\">12.5 to 13.5 cm</p>\n</td>\n<td>\n<p style=\"text-align:center\">Borderline</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align:center\">< 12.5</p>\n</td>\n<td>\n<p style=\"text-align:center\">Undernutrition</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the value of MAC in cases of severe malnutrition?", "options": [{"label": "A", "text": "14.5 cms", "correct": false}, {"label": "B", "text": "13.5 cms", "correct": false}, {"label": "C", "text": "12.5 cms", "correct": false}, {"label": "D", "text": "11.5 cms", "correct": true}], "correct_answer": "D. 11.5 cms", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align:center\"><strong>MUAC (cm)</strong></p>\n</td>\n<td>\n<p style=\"text-align:center\"><strong>Inference</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align:center\">> 13.5 cm</p>\n</td>\n<td>\n<p style=\"text-align:center\">Normal</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align:center\">12.5 to 13.5 cm</p>\n</td>\n<td>\n<p style=\"text-align:center\">Borderline</p>\n</td>\n</tr>\n<tr>\n<td>\n<p style=\"text-align:center\">< 12.5</p>\n</td>\n<td>\n<p style=\"text-align:center\">Undernutrition</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Deficiency of Vitamin B12 leads to what type of anemia?", "options": [{"label": "A", "text": "Normocytic normochromic", "correct": false}, {"label": "B", "text": "Microcytic hypochromic", "correct": false}, {"label": "C", "text": "Macrocytic hypochromic", "correct": true}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "C. Macrocytic hypochromic", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Macrocytic hypoch\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most prevalent cause of macrocytic anemia among the options provided?", "options": [{"label": "A", "text": "Vitamin B12 deficiency", "correct": false}, {"label": "B", "text": "Bone marrow disorders", "correct": false}, {"label": "C", "text": "Alcohol", "correct": true}, {"label": "D", "text": "Drug-induced", "correct": false}], "correct_answer": "C. Alcohol", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "On ocular examination, a teenage girl with low body weight is observed to have the following finding. Which WHO grade corresponds to this finding?", "options": [{"label": "A", "text": "1A", "correct": false}, {"label": "B", "text": "1B", "correct": true}, {"label": "C", "text": "2A", "correct": false}, {"label": "D", "text": "2B", "correct": false}], "correct_answer": "B. 1B", "question_images": ["https://image.prepladder.com/content/UEksvjHPXhSLjmQkKkEK1685091687.png"], "explanation_images": ["https://image.prepladder.com/content/8U0KocaTLZUvCf7C39261685092181.png"], "explanation": "\n<table>\n<tbody>\n<tr>\n<td colspan=\"2\"><strong>Xerophthalmia</strong></td>\n</tr>\n<tr>\n<td><strong>Primary X</strong></td>\n<td><strong>Secondary X</strong></td>\n</tr>\n<tr>\n<td>\n<p><strong>Reversible</strong></p>\n<ul>\n<li>XIA (conjectival Xerosis)</li>\n<li>XIB\n\t\t\t\t<ul>\n<li>Bitot spots</li>\n</ul>\n</li>\n</ul>\n<p><img src=\"https://image.prepladder.com/content/8U0KocaTLZUvCf7C39261685092181.png\"/></p>\n<ul>\n<li>X2\n\t\t\t\t<ul>\n<li>Corneal Xerosis</li>\n</ul>\n</li>\n<li>X3A\n\t\t\t\t<ul>\n<li>Corneal ulcer</li>\n</ul>\n</li>\n</ul>\n<p><strong>Irr</strong><strong>eversible</strong></p>\n<ul>\n<li>X3B\n\t\t\t\t<ul>\n<li>Keratomalacia (irreversible) which may lead to absolute blindness</li>\n</ul>\n</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>XN\n\t\t\t\t<ul>\n<li>Night blindness</li>\n</ul>\n</li>\n<li>XF\n\t\t\t\t<ul>\n<li>Xerophthalmic <span class=\"customMeta\" data-dictid=\"67492c42be16927772039f6e37110e\">fundus</span> changes</li>\n</ul>\n</li>\n<li>XS\n\t\t\t\t<ul>\n<li>Xerophthalmic scarring</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following options can be employed for the treatment of Kesari dal toxicity?", "options": [{"label": "A", "text": "Sodium bicarbonate", "correct": false}, {"label": "B", "text": "Vitamin A", "correct": false}, {"label": "C", "text": "Vitamin C", "correct": true}, {"label": "D", "text": "IV immunoglobulin", "correct": false}], "correct_answer": "C. Vitamin C", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/J7SmGJQPrPtFcSZXerI01685087127.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the cause of the 40-year-old female patient's acute onset leg swelling and loose stools, considering her family members also have similar symptoms and mustard oil is a regular part of their diet?", "options": [{"label": "A", "text": "Clavine alkaloids", "correct": false}, {"label": "B", "text": "Sanguinarine", "correct": true}, {"label": "C", "text": "BOAA", "correct": false}, {"label": "D", "text": "Pyrrolizidine alkaloids", "correct": false}], "correct_answer": "B. Sanguinarine", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 69 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Pick out the true statements regarding reference for Indian man and woman in the latest NIN-RDA guidelines. The age group considered is 19-39 for both men and women. According to the guidelines Ideal weight of an Indian man is 60 kgs and woman is 50kgs The guideline requires a person to rest for at least 8 hours daily. The guideline promotes not more than 10 hours of intense work every day. At Least 2 hours of recreational activities are mandated. The ideal BMI for men and women is 20-21 kg/m².", "options": [{"label": "A", "text": "1, 3, 5 &amp; 6", "correct": true}, {"label": "B", "text": "1, 2, 3 &amp; 6", "correct": false}, {"label": "C", "text": "3, 4, 5 &amp; 6", "correct": false}, {"label": "D", "text": "2, 3, 4 &amp; 5", "correct": false}], "correct_answer": "A. 1, 3, 5 & 6", "question_images": [], "explanation_images": [], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Category Reference Man Reference Woman Age (Point A) 19-39 years 19-39 years Weight (Point B) 65 kg 55 kg Height 177 cm 162 cm BMI (Point F) 20.74 kg/m² 20.95 kg/m² BMI (Asian Classification) 18.5 - 22.9 kg/m² Protein Requirement 0.83 g/kg/day Visible Fat Intake 25 g/day (Sedentary) 20 g/day (Sedentary) 30 g/day (Moderate) 25 g/day (Moderate) 40 g/day (Heavy) 30 g/day (Heavy) Activity Level 8 hours of sleep (Point C) 8 hours of moderate work (Point D) 4-6 hours of sitting/moving 2 hours of walking/recreation (Point E)</li><li>↳ Category Reference Man Reference Woman</li><li>↳ Category</li><li>↳ Category</li><li>↳ Category</li><li>↳ Reference Man</li><li>↳ Reference Man</li><li>↳ Reference Man</li><li>↳ Reference Woman</li><li>↳ Reference Woman</li><li>↳ Reference Woman</li><li>↳ Age (Point A) 19-39 years 19-39 years</li><li>↳ Age (Point A)</li><li>↳ Age (Point A)</li><li>↳ Age</li><li>↳ 19-39 years</li><li>↳ 19-39 years</li><li>↳ 19-39 years</li><li>↳ 19-39 years</li><li>↳ Weight (Point B) 65 kg 55 kg</li><li>↳ Weight (Point B)</li><li>↳ Weight (Point B)</li><li>↳ Weight</li><li>↳ 65 kg</li><li>↳ 65 kg</li><li>↳ 55 kg</li><li>↳ 55 kg</li><li>↳ Height 177 cm 162 cm</li><li>↳ Height</li><li>↳ Height</li><li>↳ Height</li><li>↳ 177 cm</li><li>↳ 177 cm</li><li>↳ 162 cm</li><li>↳ 162 cm</li><li>↳ BMI (Point F) 20.74 kg/m² 20.95 kg/m²</li><li>↳ BMI (Point F)</li><li>↳ BMI (Point F)</li><li>↳ BMI</li><li>↳ 20.74 kg/m²</li><li>↳ 20.74 kg/m²</li><li>↳ 20.95 kg/m²</li><li>↳ 20.95 kg/m²</li><li>↳ BMI (Asian Classification) 18.5 - 22.9 kg/m²</li><li>↳ BMI (Asian Classification)</li><li>↳ BMI (Asian Classification)</li><li>↳ BMI (Asian Classification)</li><li>↳ 18.5 - 22.9 kg/m²</li><li>↳ 18.5 - 22.9 kg/m²</li><li>↳ Protein Requirement 0.83 g/kg/day</li><li>↳ Protein Requirement</li><li>↳ Protein Requirement</li><li>↳ Protein Requirement</li><li>↳ 0.83 g/kg/day</li><li>↳ 0.83 g/kg/day</li><li>↳ Visible Fat Intake 25 g/day (Sedentary) 20 g/day (Sedentary)</li><li>↳ Visible Fat Intake</li><li>↳ Visible Fat Intake</li><li>↳ Visible Fat Intake</li><li>↳ 25 g/day (Sedentary)</li><li>↳ 25 g/day (Sedentary)</li><li>↳ 20 g/day (Sedentary)</li><li>↳ 20 g/day (Sedentary)</li><li>↳ 30 g/day (Moderate) 25 g/day (Moderate)</li><li>↳ 30 g/day (Moderate)</li><li>↳ 30 g/day (Moderate)</li><li>↳ 25 g/day (Moderate)</li><li>↳ 25 g/day (Moderate)</li><li>↳ 40 g/day (Heavy) 30 g/day (Heavy)</li><li>↳ 40 g/day (Heavy)</li><li>↳ 40 g/day (Heavy)</li><li>↳ 30 g/day (Heavy)</li><li>↳ 30 g/day (Heavy)</li><li>↳ Activity Level 8 hours of sleep (Point C) 8 hours of moderate work (Point D) 4-6 hours of sitting/moving 2 hours of walking/recreation (Point E)</li><li>↳ Activity Level</li><li>↳ Activity Level</li><li>↳ Activity Level</li><li>↳ 8 hours of sleep (Point C) 8 hours of moderate work (Point D) 4-6 hours of sitting/moving 2 hours of walking/recreation (Point E)</li><li>↳ 8 hours of sleep (Point C) 8 hours of moderate work (Point D) 4-6 hours of sitting/moving 2 hours of walking/recreation (Point E)</li><li>↳ 8 hours of sleep (Point C)</li><li>↳ 8 hours of moderate work (Point D)</li><li>↳ 4-6 hours of sitting/moving</li><li>↳ 2 hours of walking/recreation (Point E)</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:445px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Reference Man</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Reference Woman</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Age</strong> (Point A)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>19-39 years</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>19-39 years</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Weight</strong> (Point B)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>65 kg</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>55 kg</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Height</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>177 cm</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>162 cm</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>BMI</strong> (Point F)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>20.74 kg/m²</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>20.95 kg/m²</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>BMI (Asian Classification)</strong></p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>18.5 - 22.9 kg/m²</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Protein Requirement</strong></p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>0.83 g/kg/day</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Visible Fat Intake</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>25 g/day (Sedentary)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>20 g/day (Sedentary)</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>30 g/day (Moderate)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>25 g/day (Moderate)</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>40 g/day (Heavy)</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>30 g/day (Heavy)</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Activity Level</strong></p>\n</td>\n<td colspan=\"4\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<ul>\n<li>8 hours of sleep (Point C)</li>\n<li>8 hours of moderate work (Point D)</li>\n<li>4-6 hours of sitting/moving</li>\n<li>2 hours of walking/recreation<strong> </strong>(Point E)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tV9BEPABUEWIeIdjUF3Y1742123424.mp3", "video": ""}, {"text": "Priya is an Indian woman who weighs 60 kilograms. Calculate her daily protein requirement and determine which of the following dietary plans meets her protein needs (Protein in every meal is given in grams) MEAL PLAN A PLAN B PLAN C PLAN D Breakfast 2 eggs (12g) 1 banana (1g) 1 cup oats (6g), 1 slice of bread (3g) Lunch 1 cup dal (18g) 1 cup rice (4g) 200g paneer (14g) 1 cup pasta (7g) Dinner 1 chicken (25g) 2 chapatis (6g), 1 cup dal (18g) 1 cup lentils (18g) 1 cup yogurt (8g) 1 cup beans (15g) 1 apple (0.5g)", "options": [{"label": "A", "text": "Plan A", "correct": true}, {"label": "B", "text": "Plan B", "correct": false}, {"label": "C", "text": "Plan C", "correct": false}, {"label": "D", "text": "Plan D", "correct": false}], "correct_answer": "A. Plan A", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BWoVBl3zjd2M22JT3YGt1742153268.mp3", "video": ""}, {"text": "Which of the following is the correct energy requirement for a moderately working Indian woman with an exclusively breastfed 8-month-old infant?", "options": [{"label": "A", "text": "2650kcal/day", "correct": true}, {"label": "B", "text": "3550kcal/day", "correct": false}, {"label": "C", "text": "2500kcal/day", "correct": false}, {"label": "D", "text": "2670kcal/day", "correct": false}], "correct_answer": "A. 2650kcal/day", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:612px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Category</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Men</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Women</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Energy Requirements</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Sedentary</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>2110 kcal/day</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1660 kcal/day</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Moderate</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>2710 kcal/day</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>2130 kcal/day</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Heavy</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>3470 kcal/day</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>2720 kcal/day</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"4\" rowspan=\"3\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Energy Requirements</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Pregnancy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Additional 350 calories</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Lactating (0-6m)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Additional 600 calories</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Lactating (7-12m) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Additional 520 calories</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Energy requirements for elderly (>65 years)</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1700 kcal/day</p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>1500 kcal/day</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/k1VXWPr81DDB0C3li5E51742153121.mp3", "video": ""}, {"text": "What are the Recommended Daily Allowances (RDA) of iron and folate for a pregnant woman?", "options": [{"label": "A", "text": "30 mg/day of iron and 400 mcg/day of folate", "correct": false}, {"label": "B", "text": "27 mg/day of iron and 570 mcg/day of folate", "correct": true}, {"label": "C", "text": "18 mg/day of iron and 600 mcg/day of folate", "correct": false}, {"label": "D", "text": "25 mg/day of iron and 500 mcg/day of folate", "correct": false}], "correct_answer": "B. 27 mg/day of iron and 570 mcg/day of folate", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:703px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Group</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Iron <span class=\"customMeta\" data-dictid=\"2aa02fb616169277719726bc178645\">RDA</span> </strong><br/>\n<strong>(mg/day)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Folate <span class=\"customMeta\" data-dictid=\"2aa02fb616169277719726bc178645\">RDA</span> </strong><br/>\n<strong>(µg/day)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Calcium <span class=\"customMeta\" data-dictid=\"2aa02fb616169277719726bc178645\">RDA</span> (mg/dL)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Iodine <span class=\"customMeta\" data-dictid=\"2aa02fb616169277719726bc178645\">RDA</span> </strong><br/>\n<strong>(µg/day)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Adult <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">Men</span> (>18yrs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>19</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>300</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>1000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>140</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Adult Women (>18yrs)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>29</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>220</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>1000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>140</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Pregnant Ladies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>27</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>570</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>1000</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>220</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p><strong>Lactating Ladies (0-12 months)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>23</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>330</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>1200</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:top\">\n<p>280</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5vroHC6fnOBGO4giuQBO1742151490.mp3", "video": ""}, {"text": "A pediatrician is assessing the dietary needs of two infants. One infant is 4 months old and the other is 10 months old. Determine if the following meal plans meet the requirements for each infant: Meal Plan of Infant 1 (4 months old): 750 Kcal/day with 9 g of protein Meal Plan of Infant 2 (10 months old): 900 Kcal/day with 12 g of protein", "options": [{"label": "A", "text": "Both meal plans meet the energy and protein requirements", "correct": true}, {"label": "B", "text": "Infant 1's meal plan exceeds the protein requirement as a percentage of total energy intake.", "correct": false}, {"label": "C", "text": "Infant 2's meal plan exceeds the protein requirement as a percentage of total energy intake.", "correct": false}, {"label": "D", "text": "Neither meal plan meets the energy and protein requirements", "correct": false}], "correct_answer": "A. Both meal plans meet the energy and protein requirements", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ENERGY</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>PROTEIN</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>0-6 months have an estimated energy requirement (EER) of 500-900 kCal/day.</li>\n<li>7-12 months have an EER between 650-1100 kCal/day.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>RDA for protein in infants:\n\t\t\t\t<ul>\n<li>0-6 months old: 8 g/day.</li>\n<li>6-12 months old: 10.5 g/day.</li>\n</ul>\n</li>\n<li>Protein requirements for infants should not exceed 15% of their total energy.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MpnIhTNdP8piLwoR1nVp1742151675.mp3", "video": ""}, {"text": "Who among the following is not a beneficiary of ICDS?", "options": [{"label": "A", "text": "Pregnant women", "correct": false}, {"label": "B", "text": "Adolescent girls", "correct": false}, {"label": "C", "text": "Children aged less than 5 years", "correct": false}, {"label": "D", "text": "Women aged 49 years and above", "correct": true}], "correct_answer": "D. Women aged 49 years and above", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/CaPy7GK6lMa7RO2kP6DY1734073302.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:543px\">\n<tbody>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>ICDS: Integrated Child Development Services </strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Launched in 1975</li>\n<li>Aims to develop India’s Human Resource by providing early childhood services</li>\n<li>Falls under the <em>ministry of woman and child development</em></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Beneficiaries:</strong></p>\n<ul>\n<li>Pregnant women</li>\n<li>Nursing mothers</li>\n<li>Other women 15-45 years</li>\n<li>Children <3 years</li>\n<li>Children 3-6 years</li>\n<li>Adolescent girls 11-18 years</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Benefits:</strong></p>\n<ul>\n<li>Immunisation</li>\n<li>Health check-up</li>\n<li>Supplemental nutrition</li>\n<li>Nutrition and health education</li>\n<li>Referral services</li>\n<li>Non-formal preschool education</li>\n</ul>\n\t\t\t \n\n\t\t\t<p>ICDS is implemented through Anganwadi centres.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Nutrition provided</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Calories</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Protein</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Children (6-72 months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>500 Kcal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>12-15g</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Severely Malnourished child </strong>(6-72 months)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>800kcal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>20-25g</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Pregnant women and <span class=\"customMeta\" data-dictid=\"6f686e0c91169277719346f95361c8\">Nursing</span> Mothers</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>600kcal</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>18-20g</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gLArMALHGtCk4Ye9UH2O1742151889.mp3", "video": ""}, {"text": "Which of the following is false for Anganwadi centres (AWC)?", "options": [{"label": "A", "text": "It is used to run ICDS", "correct": false}, {"label": "B", "text": "AWC can be opened on demand", "correct": false}, {"label": "C", "text": "Anganwadi worker must be 10th pass", "correct": false}, {"label": "D", "text": "1 AWC is for every 500-1000 people in plain areas", "correct": true}], "correct_answer": "D. 1 AWC is for every 500-1000 people in plain areas", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:720px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>AWC</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Courtyard through which ICDS is run<strong> </strong><strong>(Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Capacity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Capacity of 1 AWC\n\t\t\t\t<ul>\n<li>Plain areas: 400-800 population</li>\n<li>Hilly areas: 300-800 population</li>\n</ul>\n</li>\n</ul>\n<ul>\n<li>Capacity of Mini-AWC: 150-300 population.</li>\n<li>Anganwadi on demand- in areas with 40 children under 6 years without an AWC.<strong>(Option B)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Anganwadi worker (AWW)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>AWW is the grass root level worker in an AWC</li>\n<li>Works at field level</li>\n<li>Education: 10th pass <strong>(Option C)</strong></li>\n<li>Duration of training: 4 months</li>\n<li>Work:\n\t\t\t\t<ul>\n<li>Plain areas: 400-800 population</li>\n<li>Hilly areas: 300-800 population</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mukhya sevika</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Supervises the work of AWWs</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Child/Community Development Project Officer (CDPO)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Supervises the overall <span class=\"customMeta\" data-dictid=\"bf1b7e7049169277720354c306d716\">functioning</span> of ICDS.</p>\n<p>1 CDPO can supervise:</p>\n<ul>\n<li>1 Block (1,00,000 population)</li>\n<li>4 Mukhya sevikas.</li>\n<li>100 AWWs</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/oMi0FZ8aNwqIrR7vyXLI1742152050.mp3", "video": ""}, {"text": "Which approach is emphasized under the Anemia Mukt Bharat initiative to combat anemia?", "options": [{"label": "A", "text": "Providing free healthcare to pregnant women", "correct": false}, {"label": "B", "text": "Conducting nationwide health camps", "correct": false}, {"label": "C", "text": "Implementing iron and folic acid supplementation programs", "correct": true}, {"label": "D", "text": "Distributing hygiene kits in rural areas", "correct": false}], "correct_answer": "C. Implementing iron and folic acid supplementation programs", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/UztnNj5jeQzNmVg9yhwU1734073391.png"], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:553px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 interventions:</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Prophylactic iron-folic acid supplementation</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Periodic <span class=\"customMeta\" data-dictid=\"1defe825941692777186e6378c4c76\">deworming</span> of children, adolescents, pregnant women</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Intensified year-round Behavior Change Communication Campaign</li>\n</ol>\n<p><strong>(Solid Body, Smart Mind),</strong> and ensuring delayed cord clamping</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Testing of <span class=\"customMeta\" data-dictid=\"53bee2a41216927771814d7ec3a67f\">anemia</span> using digital methods and point-of-care treatment</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Mandatory provision of iron and <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> fortified foods in <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> programmes</li>\n</ol>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ol>\n<li>Addressing non-nutritional causes of <span class=\"customMeta\" data-dictid=\"53bee2a41216927771814d7ec3a67f\">anemia</span> in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> pockets, with special focus on malaria, haemoglobinopathies and fluorosis.</li>\n</ol>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:500px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Beneficiaries</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Elemental Iron</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Folic acid</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p><strong>Schedule</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>6-59 month</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>20 mg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>100 mcg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Bi-weekly (Syrup)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>5-9 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>45 mg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>200 mcg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Weekly (Pink tabs)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>10-19 years</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>60 mg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>400 mcg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Weekly (Blue tabs)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Reproductive age women</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>60 mg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>400 mcg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Weekly (Red tabs)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Pregnant women</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>60 mg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>400 mcg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Daily (Red tabs)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Lactating</p>\n<p>women</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>60 mg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>400 mcg</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p>Daily (Red tabs)</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 INTERVENTIONS</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 STRATEGIES</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Prophylactic iron-folic acid supplementation.</li>\n<li>Deworming.</li>\n<li>Intensified year-round behaviour change communication campaign (solid body, smart mind), including ensured delayed cord clamping.</li>\n<li>Testing of anaemia using digital methods and point-of-care treatment.</li>\n<li>Mandatory provision of iron <span class=\"customMeta\" data-dictid=\"778971b8f5169277720391773cc8fa\">folic acid</span> fortified foods in <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> programmes.</li>\n<li>Addressing non-nutritional causes of anaemia in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> pockets with a special focus on malaria, hemoglobinopathies, and fluorosis.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>National Anaemia Mukt Bharat Unit.</li>\n<li>Intra-ministerial coordination.</li>\n<li>Strengthening supply chain and logistics.</li>\n<li>Convergence with other ministries.</li>\n<li>National <span class=\"customMeta\" data-dictid=\"1feb2a0a3016927771847db9449f75\">Centre</span> of Excellence and Advanced Research on Anaemia Control.</li>\n<li>Anaemia Mukt Bharat dashboard and digital portal- One-stop shop for anaemia.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 BENEFICIARIES</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Children, 6-59 months of age.</li>\n<li>Children, 5-9 years of age.</li>\n<li>Adolescent girls & boys (10-19 years of age).</li>\n<li>Women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age group (20-24 years of age).</li>\n<li>Pregnant women.</li>\n<li>Lactating mothers (of 0-6 months child).</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Hp1BhKOtOSpLk3Wt5xRn1747426234.mp3", "video": ""}, {"text": "Which indicator is considered the principal impact indicator in the National Iodine Deficiency Disorders Control Program (NIDDCP), reflecting the effectiveness of salt iodization?", "options": [{"label": "A", "text": "Median urinary iodine levels", "correct": true}, {"label": "B", "text": "Prevalence of goitre", "correct": false}, {"label": "C", "text": "Neonatal hypothyroidism", "correct": false}, {"label": "D", "text": "Salt iodine content at the production site", "correct": false}], "correct_answer": "A. Median urinary iodine levels", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:779px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<p style=\"text-align: center;\"><strong>National <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">Iodine</span> <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">Deficiency</span> Disorders Control Program (NIDDCP)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<p>Background</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>National <span class=\"customMeta\" data-dictid=\"10ccb423ae1692777188f2ffbb4491\">Goitre</span> Control Programme (NGCP) launched in 1962 (100% centrally sponsored); NIDDCP launched in 1992</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Objectives</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>Supply iodized salt in place of common salt</li>\n<li>Conduct surveys to assess the magnitude of <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> <span class=\"customMeta\" data-dictid=\"209b85faf71692777185767d43e3bd\">deficiency</span> disorders (IDD)</li>\n<li>Resurvey every 5 years to assess <span class=\"customMeta\" data-dictid=\"6bb513a30716927771897ce80c78cc\">IDD</span> extent and iodized salt impact</li>\n<li>Monitor iodized salt and <span class=\"customMeta\" data-dictid=\"0b72f5e96b16927772018dec8a87e2\">urinary</span> <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> <span class=\"customMeta\" data-dictid=\"0f7653c9ef1692777187deaa35f749\">excretion</span> in labs</li>\n<li>Provide health education and publicity</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<p style=\"text-align: center;\"><strong>Indicators to Monitor Success</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Process Indicators</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>Salt <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> content at production site, point of packaging, wholesale and retail levels & in households <strong>(Option D)</strong></li>\n<li>Manufacturing level: ≥30 <span class=\"customMeta\" data-dictid=\"9b9b512b0e16927771965ccb26c10d\">ppm</span> and Distribution level: ≥15 <span class=\"customMeta\" data-dictid=\"9b9b512b0e16927771965ccb26c10d\">ppm</span> on a dry weight basis</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Impact Indicators</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li><strong>Urinary <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> excretion</strong> (Principal impact indicator) <strong>(Option A)</strong></li>\n<li><strong>Goitre rate</strong> (chronic/long-term impact indicator) <strong>(Option B)</strong></li>\n<li><strong>Neonatal hypothyroidism</strong> (sensitive indicator)<strong> </strong><strong>(Option C</strong>)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Sustainability Indicators</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>Median <span class=\"customMeta\" data-dictid=\"0b72f5e96b16927772018dec8a87e2\">urinary</span> <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> levels in the target population</li>\n<li>Availability of adequately iodized salt at the household level</li>\n<li>Set of programmatic indicators</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Epidemiological Assessment</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>Prevalence of goitre, cretinism, <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> hypothyroidism</li>\n<li>Urinary <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> excretion</li>\n<li>Measurement of <span class=\"customMeta\" data-dictid=\"799202e6fe16927772009a1501b0a8\">thyroid</span> function (T4, TSH)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p>Programmatic Goal</p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li><5% <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> of <span class=\"customMeta\" data-dictid=\"6bb513a30716927771897ce80c78cc\">IDD</span> in 10-14 years age group</li>\n<li><10% <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">incidence</span> of IDD</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Iodized Products</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Iodized Oil</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>Intramuscular iodized oil (poppy-seed oil): 1 ml <span class=\"customMeta\" data-dictid=\"3509997646169277719014053aa74d\">injection</span> provides protection for 4 years</li>\n<li>Oral iodized oil or sodium <span class=\"customMeta\" data-dictid=\"c005bb10da1692777190b629bb9947\">iodate</span> tablets effective for 2 years</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Iodized Salt</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>Most widely used <span class=\"customMeta\" data-dictid=\"a87d6eeedb16927771967434e19075\">prophylactic</span> measure against <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> goitre</li>\n<li>Production level iodization: ≥30 ppm</li>\n<li>Distribution/consumer level iodization: ≥15 ppm</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:middle\">\n<p><strong>Two-in-One Salt</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #333438; border-left:1px solid #333438; border-right:1px solid #333438; border-top:1px solid #333438; vertical-align:bottom\">\n<ul>\n<li>Developed by NIN (Hyderabad) as Double Fortified Salt (DFS)</li>\n<li>Contains salt, <span class=\"customMeta\" data-dictid=\"a995a613a016927771969d4395dc80\">potassium</span> iodate, <span class=\"customMeta\" data-dictid=\"ffb2e30f4b1692777202053635c365\">ferrous</span> sulphate, sodium hexametaphosphate</li>\n<li>Provides 40 <span class=\"customMeta\" data-dictid=\"321808298216927771927f9e8e7f8f\">mcg</span> <span class=\"customMeta\" data-dictid=\"58c4fcb71116927771901e83ac026f\">iodine</span> and 1 mg iron per <span class=\"customMeta\" data-dictid=\"f0347e3a7a1692777188cf90c50d6f\">gram</span> of salt</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/qtWnqG63TZxKYiS0pqpH1742152525.mp3", "video": ""}, {"text": "What is the primary objective of the Kishori Shakti Yojana?", "options": [{"label": "A", "text": "Promoting higher education among adolescent girls", "correct": false}, {"label": "B", "text": "Ensuring maternal healthcare for pregnant women", "correct": false}, {"label": "C", "text": "Empowering adolescent girls through nutrition and health education", "correct": true}, {"label": "D", "text": "Providing financial assistance for marriage expenses", "correct": false}], "correct_answer": "C. Empowering adolescent girls through nutrition and health education", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/YSuYXgO06ZMjFXzHe4931734073484.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/l99nH1UARL2BhTDlks4y1742152666.mp3", "video": ""}, {"text": "What is the main focus of the Pradhan Mantri Poshan Scheme launched by the Government of India?", "options": [{"label": "A", "text": "Empowering women through nutrition development programs", "correct": false}, {"label": "B", "text": "Improving nutritional outcomes among children", "correct": true}, {"label": "C", "text": "Promoting sustainable agriculture practices", "correct": false}, {"label": "D", "text": "Providing financial assistance for rural agricultural development", "correct": false}], "correct_answer": "B. Improving nutritional outcomes among children", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/J0gyxLONfLfwiH2nH9uC1734073610.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/EVbc8EHbEXZK9JWQEuDy1742152799.mp3", "video": ""}, {"text": "Match the logos with their appropriate description LOGO DESCRIPTION (A) 1. Affiliated to a department that comes under the Ministry of Consumer affairs (B) 2. Regulated by the Ministry of Food Processing Industries (C) 3. Affiliated with the Ministry of Agriculture and Farmers Welfare (D) 4. Affiliated to a department that comes under the Ministry of Health and Family Welfare", "options": [{"label": "A", "text": "A-2 B-1 C-3 D-4", "correct": false}, {"label": "B", "text": "A-4 B-1 C-2 D-3", "correct": true}, {"label": "C", "text": "A-1 B-2 C-3 D-4", "correct": false}, {"label": "D", "text": "A-1 B-4 C-3 D-2", "correct": false}], "correct_answer": "B. A-4 B-1 C-2 D-3", "question_images": ["https://image.prepladder.com/content/g2al9YDT8RxbpZxLGBE11734073807.png", "https://image.prepladder.com/content/n6Kn8VVPEM49xX3WYNfp1734073952.png", "https://image.prepladder.com/content/mtcHYtWZubuNM0SZDeja1734074071.png", "https://image.prepladder.com/content/dnG0DlAVWBNclJ98Ji2p1734074287.png"], "explanation_images": ["https://image.prepladder.com/content/X0r6VcG9BnXcAZErZdce1734073889.png", "https://image.prepladder.com/content/U0mTRDXrcztOOm4VXxoD1734073928.png", "https://image.prepladder.com/content/tMkoeFOB3Sn1fBqtnoUB1734074107.png", "https://image.prepladder.com/content/419obMsxuYNZZMxv6Ofk1734074233.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:837px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>LOGO</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>DESCRIPTION</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p> </p>\n<p>(A)</p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"308\" src=\"https://image.prepladder.com/content/X0r6VcG9BnXcAZErZdce1734073889.png\" width=\"280\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li><strong>Food Safety and Standards Authority of India (FSSAI)</strong></li>\n<li>Headquarters: New Delhi</li>\n<li>Ministry: <em>Health and Family Welfare</em></li>\n<li>Provides national food standards for products</li>\n<li>Adopts standards from <span class=\"customMeta\" data-dictid=\"d3c1e49ea616927771842c093df628\">CODEX</span> ALIMENTARIUS by WHO and FAO (WHO Headquarters: Geneva; FAO Headquarters: Rome)</li>\n<li>Recently launched the Eat Right Campaign</li>\n</ul>\n<br/>\n<br/>\n<br/>\n<br/>\n\t\t\t </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p> </p>\n<p>(B)<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"234\" src=\"https://image.prepladder.com/content/U0mTRDXrcztOOm4VXxoD1734073928.png\" width=\"280\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li><strong>Bureau of Indian Standards</strong></li>\n<li>Ministry: <em>Ministry of Consumer affairs</em></li>\n<li>PFA (Prevention of Food Adulteration) provides the Minimum quality of food products.</li>\n<li>BIS provides quality above the minimum standards of food products.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p> </p>\n<p>(C)<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"273\" src=\"https://image.prepladder.com/content/tMkoeFOB3Sn1fBqtnoUB1734074107.png\" width=\"280\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li><strong>Fruit Product/Process Order.</strong></li>\n<li>The <em>Ministry of Food Processing Industries</em> has created an online system for licensing and monitoring all activities related to the enforcement and administration of FPO.</li>\n<li>Regulates the quality of tinned fruit juices and tinned fruit cans.</li>\n</ul>\n<p><br/>\n\t\t\t </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p> </p>\n<p>(D)<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"251\" src=\"https://image.prepladder.com/content/419obMsxuYNZZMxv6Ofk1734074233.png\" width=\"280\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<ul>\n<li>This is administered by the Directorate of Marketing and Inspection (DMI) under the <em>Ministry of Agriculture and Farmers Welfare </em>for agricultural products.</li>\n<li><strong>AGMARK </strong>is a certification mark indicating that agricultural produce meets a <span class=\"customMeta\" data-dictid=\"d4ae50897e16927771884b5c46ba7d\">grade</span> standard specified by DMI</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ACCuYnrhCBZqsiW5hq1y1742152949.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 22 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is NOT a leading cause of mortality in children aged 1-4 years in developing countries?", "options": [{"label": "A", "text": "Diarrhoeal diseases", "correct": false}, {"label": "B", "text": "Respiratory infections", "correct": false}, {"label": "C", "text": "Malnutrition", "correct": false}, {"label": "D", "text": "Congenital anomalies", "correct": true}], "correct_answer": "D. Congenital anomalies", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/H1LcO7QUCs6KeQmYEJWH1734071614.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Developing Countries</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Developed Countries</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Diarrhoeal diseases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Accidents and injuries</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Respiratory infections</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Congenital anomalies</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Malnutrition</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Malignant neoplasms</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Infectious diseases (e.g., measles, whooping cough)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Influenza</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Other <span class=\"customMeta\" data-dictid=\"e57922b3c91692777202151895d37e\">febrile</span> diseases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pneumonia</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/YTliAMYQnCk96P65Rxto1741600010.mp3", "video": ""}, {"text": "Under which initiative in India are children screened for common health conditions such as birth defects, deficiencies, developmental delays, and diseases up to the age of 18 years?", "options": [{"label": "A", "text": "Anemia Mukt Bharat", "correct": false}, {"label": "B", "text": "Rashtriya Bal Swasthya Karyakram (RBSK)", "correct": true}, {"label": "C", "text": "Applied Nutrition Programme", "correct": false}, {"label": "D", "text": "Mid-day Meal", "correct": false}], "correct_answer": "B. Rashtriya Bal Swasthya Karyakram (RBSK)", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/9WGhlnXkTloJQjDDLUlP1734072825.png", "https://image.prepladder.com/content/tRHAOn9iyRraL0dxE5Wu1734072869.png", "https://image.prepladder.com/content/NKmBbFTGjlDJAHDdkj2u1734072920.png", "https://image.prepladder.com/content/5qRjFwMhmRVqS0gddNKR1734072968.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tKCzf7Iypji3T87vsXi91741600462.mp3", "video": ""}, {"text": "Which of the following statements are incorrect regarding a healthful school environment?", "options": [{"label": "A", "text": "Classrooms should accommodate no more than 40 students with a minimum of 10 sq. ft. per student.", "correct": false}, {"label": "B", "text": "The interior walls of classrooms should be colorfully painted to create a stimulating environment for students.", "correct": true}, {"label": "C", "text": "One urinal per 60 students, one latrine per 100 students must be provided. Separate facilities for boys and girls.", "correct": false}, {"label": "D", "text": "Site should be on high-lying land with an area of 10 acres for higher elementary schools, 5 acres for primary schools, with an additional 1 acre per 100 students.", "correct": false}], "correct_answer": "B. The interior walls of classrooms should be colorfully painted to create a stimulating environment for students.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:696px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Location</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Centrally situated with proper approach roads, away from busy places like roads, factories, and marketplaces. School premises should be fenced and hazard-free.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Site</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>High, well-drained land. 10 acres for higher elementary schools, 5 acres for primary schools, with an additional 1 acre per 100 students. <strong>(Option 4)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Structure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Single-story buildings are preferred. <span class=\"customMeta\" data-dictid=\"f76fd8a55516927771876551f85a25\">Exterior</span> walls should be 10 inches thick and heat-resistant</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Classroom</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>No more than 40 students per room. Minimum 10 sq. ft. per student. <strong>(Option 1)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Color of Interior</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>White interior walls, periodically white-washed.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Lighting</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Natural light from the left side, not from the front.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Water Supply</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Independent source of safe, <span class=\"customMeta\" data-dictid=\"e0b9b6647b1692777196072340adcd\">potable</span> water, continuous supply distributed from taps.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Lavatory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>One <span class=\"customMeta\" data-dictid=\"24c775f05716927772010e1b4d56a8\">urinal</span> per 60 students, one latrine per 100 students. Separate facilities for boys and girls. <strong>(Option 3)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/8obiDxgTqs4okiGanli51741600618.mp3", "video": ""}, {"text": "Which of the following statements about Kangaroo Mother Care (KMC) is incorrect?", "options": [{"label": "A", "text": "KMC involves early and prolonged skin-to-skin contact between the infant and the mother.", "correct": false}, {"label": "B", "text": "KMC is meant for clinically stable low birth weight (LBW) infants and includes exclusive and frequent breastfeeding.", "correct": false}, {"label": "C", "text": "KMC should only be provided in hospitals under skilled supervision and proper guidance.", "correct": true}, {"label": "D", "text": "KMC helps stabilize body temperature, promotes breastfeeding, and prevents infections.", "correct": false}], "correct_answer": "C. KMC should only be provided in hospitals under skilled supervision and proper guidance.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/SYeoMRCglHHyNaDnWSE81734072691.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PlTJX6BfgicN1HpE4f4q1741600760.mp3", "video": ""}, {"text": "Which of the following statements is false regarding artificial feeding in infants?", "options": [{"label": "A", "text": "The estimated protein requirement is about 2 g/kg of body weight during the first 6 months; Declines to about 1.5 g/kg by the end of one year.", "correct": false}, {"label": "B", "text": "Options used in artificial feeding include dried whole milk powder, fresh milk from a cow or other animal, or commercial formulae", "correct": false}, {"label": "C", "text": "Cow milk is the safest and most commonly used artificial feeding method in developing countries", "correct": true}, {"label": "D", "text": "The main indications for artificial feeding are failure of breast milk, prolonged illness or death of the mother.", "correct": false}], "correct_answer": "C. Cow milk is the safest and most commonly used artificial feeding method in developing countries", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Requirement/Guideline</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Energy Requirement</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Infants require an average of 100 <span class=\"customMeta\" data-dictid=\"bf7703756016927771905a4e6a2823\">kcal</span> per kg of body weight per day (about 150 ml of milk per kg of body weight each day).</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Protein Requirement</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>2 g/kg of body weight during the first 6 months.</li>\n<li>Declines to about 1.5 g/kg by the end of one year. <strong>(Option 1)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Feeding Frequency</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Infants need <span class=\"customMeta\" data-dictid=\"11a5eea407169277720251b8446fa7\">feeding</span> at frequent intervals about 6-8 times a day.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/jRAmsTjm9Uu60iJy2J1e1741600919.mp3", "video": ""}, {"text": "Which of the following statements is incorrect when comparing human milk to cow milk?", "options": [{"label": "A", "text": "Human milk contains 3 times lower protein, but is rich in amino acids like cysteine and taurine, essential for infants.", "correct": false}, {"label": "B", "text": "Breast milk is almost completely digested, whereas much of cow's milk protein is excreted undigested.", "correct": false}, {"label": "C", "text": "The coefficient of uptake of iron is equal in both breast and cow milk, however breast milk contains more Vitamin A and C", "correct": true}, {"label": "D", "text": "Dilution of cow's milk during the first 2 months is recommended in order to reduce the solute load on neonatal kidneys.", "correct": false}], "correct_answer": "C. The coefficient of uptake of iron is equal in both breast and cow milk, however breast milk contains more Vitamin A and C", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Nutritional Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Human Milk</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cow Milk</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Protein Content</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lower, easily digestible<br/>\n<strong>(Option 1)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Higher, harder to digest</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Essential <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">Amino</span> Acids (e.g., cysteine, taurine)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rich</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lower</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vitamin A & C</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rich</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lower</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Iron</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Higher bioavailability</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lower bioavailability</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Calcium</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Adequate, better absorbed</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Higher content, less effectively absorbed</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Fat Content</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Higher proportion of essential <span class=\"customMeta\" data-dictid=\"bc6cd9a9f9169277720261812ea113\">fatty</span> acids (e.g., linoleic, alpha-linolenic)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Lower proportion of essential <span class=\"customMeta\" data-dictid=\"bc6cd9a9f9169277720261812ea113\">fatty</span> acids</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Digestibility</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Almost completely digested</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Much is excreted undigested <strong>(Option 2)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Risk of Overloading Kidneys</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>High (hence <span class=\"customMeta\" data-dictid=\"409e887c94169277718652d5db3c32\">dilution</span> recommended) <strong>(Option 4)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/QuuHrIQgEv3slcogSI2P1741601098.mp3", "video": ""}, {"text": "A 2-year-old child presents to the pediatric clinic with complaints of poor dietary intake for the past several months. On examination, the child has Bitot's spots and other signs of vitamin A deficiency. What is the most appropriate treatment plan for this child to correct the Vitamin A deficiency?", "options": [{"label": "A", "text": "Administer a single dose of 50,000 IU of vitamin A immediately and repeat the dose the next day.", "correct": false}, {"label": "B", "text": "Administer a single dose of 100,000 IU of vitamin A immediately and another dose of 100,000 IU after 9 months.", "correct": false}, {"label": "C", "text": "Administer 50,000 IU of vitamin A immediately and repeat this dose every 6 months until the child turns 5 years.", "correct": false}, {"label": "D", "text": "Administer 200,000 IU of vitamin A immediately and the very next day. If clinical signs persist, third dose of 200,000 IU 2-4 weeks later.", "correct": true}], "correct_answer": "D. Administer 200,000 IU of vitamin A immediately and the very next day. If clinical signs persist, third dose of 200,000 IU 2-4 weeks later.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Age Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vitamin A Dose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Frequency</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>< 6 months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50,000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1st Dose - Day 0</p>\n<p>2nd Dose- Day 1</p>\n<p>3rd Dose (if required) - 2-4 weeks later</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6-11 months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>100,000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1st Dose - Day 0</p>\n<p>2nd Dose- Day 1</p>\n<p>3rd Dose (if required) - 2-4 weeks later</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>≥ 12 months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>200,000 IU</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1st Dose - Day 0</p>\n<p>2nd Dose- Day 1</p>\n<p>3rd Dose (if required) - 2-4 weeks later</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/MCD8iid1rfajbd3mzEa01741602203.mp3", "video": ""}, {"text": "A 2-year-old child presents with bilateral pedal edema, severe wasting, and a mid-upper arm circumference (MUAC) of 10.5 cm. Which of the following is the feature of initial management of this condition?", "options": [{"label": "A", "text": "Focus on nutritional and electrolyte balance", "correct": true}, {"label": "B", "text": "Starter Diet provides 100 kcal per 1000 ml", "correct": false}, {"label": "C", "text": "Initiation of a home-based nutritious diet", "correct": false}, {"label": "D", "text": "Provide a catch up diet like F-100", "correct": false}], "correct_answer": "A. Focus on nutritional and electrolyte balance", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/zt0kbKTUtGAdMmxvhNCo1734072106.png", "https://image.prepladder.com/content/aZaGM2CV2O9rZtygNIRu1734174525.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/l1UWSqadX2BAYVWX22yg1741601303.mp3", "video": ""}, {"text": "Which of the following statements regarding growth charts is false?", "options": [{"label": "A", "text": "The position of dots is more important than direction", "correct": true}, {"label": "B", "text": "Flattening of the curve is a sign of growth failure", "correct": false}, {"label": "C", "text": "0 to -2 SD signifies normal growth", "correct": false}, {"label": "D", "text": "50th percentile is the upper reference for boys in the WHO growth chart", "correct": false}], "correct_answer": "A. The position of dots is more important than direction", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/zXfjUTw9HpEKhtQpB8Lv1734072017.png", "https://image.prepladder.com/content/rSb0eu5bAZWoD2YyYjoB1734072043.png"], "explanation": "<p><strong>References:</strong></p>\n<ul><li>↳ Features of WHO GROWTH CHART : Upper reference (50th percentile for boys) Lower reference (3rd percentile for girls) Between the two references - Normal growth Below lower reference - Malnutrition</li><li>↳ Features of WHO GROWTH CHART : Upper reference (50th percentile for boys) Lower reference (3rd percentile for girls) Between the two references - Normal growth Below lower reference - Malnutrition</li><li>↳ Features of WHO GROWTH CHART :</li><li>↳ WHO GROWTH CHART</li><li>↳ Upper reference (50th percentile for boys) Lower reference (3rd percentile for girls) Between the two references - Normal growth Below lower reference - Malnutrition</li><li>↳ Upper reference (50th percentile for boys)</li><li>↳ Lower reference (3rd percentile for girls)</li><li>↳ Between the two references - Normal growth</li><li>↳ Below lower reference - Malnutrition</li></ul>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>CRITERIA FOR ICDS GROWTH CHART</strong></p>\n<p><strong>0 to -2 SD </strong></p>\n<ul>\n<li>Road to health</li>\n<li>Green color</li>\n<li><strong>Advice</strong>: Take care of danger signs.</li>\n</ul>\n<p><strong>-2 to -3 SD</strong></p>\n<ul>\n<li>Mild to moderate malnutrition</li>\n<li>Yellow color</li>\n<li><strong>Advice</strong>: Supplement with diet and breastfeeding.</li>\n</ul>\n<p><strong>Below -3 SD</strong></p>\n<ul>\n<li>Severe malnutrition</li>\n<li>Red color</li>\n<li>Refer to a CHC level or above</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>FEATURES OF ICDS GROWTH CHART</strong></p>\n<ul>\n<li>Has 3 lines</li>\n<li>Weight is on the y-axis</li>\n<li>Age is on the x-axis</li>\n<li>The first sign of <strong>growth failure</strong> is the <span class=\"customMeta\" data-dictid=\"13d0edf82916927772021bfc7f9aeb\">flattening</span> of the curve.</li>\n<li><strong>The direction of the growth chart</strong> is more important than the position of the dots.</li>\n</ul>\n<img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"247\" src=\"https://image.prepladder.com/content/zXfjUTw9HpEKhtQpB8Lv1734072017.png\" width=\"350\"/>\n<p> </p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"292\" src=\"https://image.prepladder.com/content/rSb0eu5bAZWoD2YyYjoB1734072043.png\" width=\"350\"/></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Features of <strong>WHO GROWTH CHART</strong> :</p>\n<ul>\n<li>Upper reference (50th <span class=\"customMeta\" data-dictid=\"8b22fa5ed1169277719587132297ce\">percentile</span> for boys)</li>\n<li>Lower reference (3rd <span class=\"customMeta\" data-dictid=\"8b22fa5ed1169277719587132297ce\">percentile</span> for girls)</li>\n<li>Between the two references - Normal growth</li>\n<li>Below lower reference - Malnutrition</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/OCvYa0VrCLDOZfib1n1p1741601535.mp3", "video": ""}, {"text": "Which of the following is not a feature of a severe acute malnourished child?", "options": [{"label": "A", "text": "MUAC &lt; 11.5 cm", "correct": false}, {"label": "B", "text": "Low weight for height &lt; -3 SD", "correct": false}, {"label": "C", "text": "Absence of pitting pedal edema", "correct": true}, {"label": "D", "text": "Presence of severe body wasting", "correct": false}], "correct_answer": "C. Absence of pitting pedal edema", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:558px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Criteria</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mid-Upper Arm <span class=\"customMeta\" data-dictid=\"0e190b1ed716927771848781259060\">Circumference</span> (MUAC)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Less than 11.5 cm </strong>(Option 1)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Weight-for-height</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Less than -3 SD</strong> (standard deviations) on the WHO growth chart. (Option 2)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Bilateral <span class=\"customMeta\" data-dictid=\"a8c53e6875169277719588cd709854\">pitting</span> <span class=\"customMeta\" data-dictid=\"e272cdded916927771951d2337037d\">pedal</span> edema</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Presence of edema, which is <span class=\"customMeta\" data-dictid=\"e3d212ebd316927771996e0c472d4a\">swelling</span> caused by fluid retention, in both feet.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Visible severe wasting</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Noticeable and significant loss of body mass, particularly muscle and fat tissue. (Option 4)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/VbNAw0DTmK5Gb976M94D1741601669.mp3", "video": ""}, {"text": "The image above depicts a measurement used to assess the nutritional status of children. What is being measured?", "options": [{"label": "A", "text": "Head circumference", "correct": false}, {"label": "B", "text": "Mid upper arm circumference", "correct": true}, {"label": "C", "text": "Abdominal girth", "correct": false}, {"label": "D", "text": "Leg length", "correct": false}], "correct_answer": "B. Mid upper arm circumference", "question_images": ["https://image.prepladder.com/content/j10fau0xGRa0ftqxKp1A1725459556.png"], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:397px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>COLOUR</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>Measurement</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>Status</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>RED</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>< 11.5 cm</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>Severe <span class=\"customMeta\" data-dictid=\"4cdc8161f71692777180df58cafa93\">acute</span> malnutrition</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>YELLOW</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>11.5-12.5 cm</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>Undernourished</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>GREEN</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>>12.5 cm</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>Normal</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/U46UtBD7bLSvBv1mm1an1741601789.mp3", "video": ""}, {"text": "In a pediatric clinic, a 4-year-old child is assessed using Waterlow's Classification. The child's height-for-age is found to be 85%, while weight-for-height is 85%. According to Waterlow's Classification, the nutritional status of this child would be categorized as:", "options": [{"label": "A", "text": "Normal", "correct": false}, {"label": "B", "text": "Wasted", "correct": false}, {"label": "C", "text": "Stunted", "correct": true}, {"label": "D", "text": "Wasted and Stunted", "correct": false}], "correct_answer": "C. Stunted", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:492px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>Weight for Heigh</strong>t</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>Height for Age</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p><strong>Nutritional Status</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>≥ 80%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>≥ 90%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>Normal</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>< 80%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>≥ 90%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>Wasted</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>≥ 80%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>< 90%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>Stunted</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>< 80%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>< 90%</p>\n</td>\n<td style=\"border-bottom:1px solid #131314; border-left:1px solid #131314; border-right:1px solid #131314; border-top:1px solid #131314; vertical-align:bottom\">\n<p>Wasted and Stunted</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/zcUICGRZXG9QFU4eoQ7T1741600320.mp3", "video": ""}, {"text": "Non-clinical Question: Match the following markers to the type of malnutrition they best assess:- Marker Type of Malnutrition a. Weight-for-height 1. Chronic Malnutrition b. Height-for-age 2. Acute Malnutrition C. Weight-for-age 3. Acute on chronic malnutrition", "options": [{"label": "A", "text": "1-a, 2-b, 3-c", "correct": false}, {"label": "B", "text": "1-c, 2-b, 3-a", "correct": false}, {"label": "C", "text": "1-b, 2-a, 3-c", "correct": true}, {"label": "D", "text": "1-c, 2-a, 3-b", "correct": false}], "correct_answer": "C. 1-b, 2-a, 3-c", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/npEgLQ60Vs0PKhLU9AxL1741600117.mp3", "video": ""}, {"text": "What is the minimum number of antenatal visits recommended by the WHO?", "options": [{"label": "A", "text": "4", "correct": false}, {"label": "B", "text": "6", "correct": false}, {"label": "C", "text": "8", "correct": true}, {"label": "D", "text": "3", "correct": false}], "correct_answer": "C. 8", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ekTeJXwueUBLXSTz04DM1741598548.mp3", "video": ""}, {"text": "Which of the following statements is FALSE with respect to mortality rates in children?", "options": [{"label": "A", "text": "The most common cause of neonatal mortality is low birth weight.", "correct": false}, {"label": "B", "text": "Sepsis is a significant cause of both neonatal and infant mortality.", "correct": false}, {"label": "C", "text": "The Infant Mortality Rate is considered the best indicator of socio-economic development by UNICEF.", "correct": true}, {"label": "D", "text": "Current IMR is 28/1000 live births.", "correct": false}], "correct_answer": "C. The Infant Mortality Rate is considered the best indicator of socio-economic development by UNICEF.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/sWJpygw9MAyu5W0bqppR1741599904.mp3", "video": ""}, {"text": "A 32-year-old woman gives birth to a baby at 36 weeks of gestation. The baby's birth weight is recorded as 1800 grams. The mother is concerned about the baby's health and asks the pediatrician about the potential risks and necessary care for her newborn. Given the clinical scenario, which of the following statements is TRUE regarding the newborn? 1) The baby is classified as moderately preterm and moderately low birth weight. 2) The baby is classified as extremely preterm and extremely low birth weight. 3) The baby is at a higher risk for infant mortality compared to normal birth weight babies. 4) The baby is expected to double its birth weight by 3 months. 5) The baby is classified as normal term and moderately low birth weight.", "options": [{"label": "A", "text": "1 and 3", "correct": true}, {"label": "B", "text": "2, 3 &amp; 4", "correct": false}, {"label": "C", "text": "3 and 5", "correct": false}, {"label": "D", "text": "1, 3, and 4", "correct": false}], "correct_answer": "A. 1 and 3", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Classification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Weight Range</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Moderately Low Birth Weight</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1500 g to 2499 g</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Very Low Birth Weight</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1000 g to 1499 g</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Extremely Low Birth Weight</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Below 1000 g</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Classification</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Gestational Age</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Extremely Preterm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less than 28 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Very Preterm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>28 to 32 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Moderate to Late Preterm</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>32 to 37 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Term</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>37 to 42 weeks</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Post-term</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Beyond 42 weeks</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/DiHOO8j5ppcWGdefH6wH1741601996.mp3", "video": ""}, {"text": "Which of the following statements about the Perinatal Mortality Rate (PMR) is FALSE?", "options": [{"label": "A", "text": "PMR includes late fetal deaths from 28 weeks of gestation and early neonatal deaths within the first 7 days of life.", "correct": false}, {"label": "B", "text": "PMR is considered the best indicator for combined obstetrics and pediatrics care.", "correct": false}, {"label": "C", "text": "The weight of the fetus should be at least 2 kg to be included in the PMR.", "correct": true}, {"label": "D", "text": "Birth asphyxia is a significant cause of perinatal mortality.", "correct": false}], "correct_answer": "C. The weight of the fetus should be at least 2 kg to be included in the PMR.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/5S04O8i2Sc9B1Igd6gGj1741599751.mp3", "video": ""}, {"text": "What is the current Infant Mortality Rate (IMR) in India according to the Sample Registration System (SRS)?", "options": [{"label": "A", "text": "30 per 1000 live births", "correct": false}, {"label": "B", "text": "28 per 1000 live births", "correct": true}, {"label": "C", "text": "25 per 1000 live births", "correct": false}, {"label": "D", "text": "20 per 1000 live births", "correct": false}], "correct_answer": "B. 28 per 1000 live births", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Q6FqqTcqrL84JnClJcWo1741599634.mp3", "video": ""}, {"text": "Which of the following defines the Neonatal Mortality Rate?", "options": [{"label": "A", "text": "Death of a child within 0-28 days of life per 1000 live births", "correct": true}, {"label": "B", "text": "Death of a child within 0-7 days of life per 1000 live births", "correct": false}, {"label": "C", "text": "Death of a child within 8-28 days of life per 1000 live births", "correct": false}, {"label": "D", "text": "Death of a child within 29 days to 1 year of life per 1000 live births", "correct": false}], "correct_answer": "A. Death of a child within 0-28 days of life per 1000 live births", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Early <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> mortality rate</strong></p>\n<p>(Option 2)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>(No. of deaths of children (neonate) 0 – 7 days of life / live births) x 1000)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Late <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> mortality rate</strong></p>\n<p>(Option 3)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>(No. of deaths of children (neonate) 8th – 28 days of</p>\n<p>life / live birth) x 1000)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Post-neonatal mortality rate</strong></p>\n<p>(Option 4)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>(No. of deaths of children (neonate) 29th day - 1 year of life / live births) x 1000)</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/eEelZdqFGD0QiBjnpykI1741599527.mp3", "video": ""}, {"text": "A state recorded 150 maternal deaths in a year. The number of live births during the same period was 50,000. The total number of women in the reproductive age group (15-49 years) is 10,00,000. What is the maternal mortality ratio (MMR) for this state?", "options": [{"label": "A", "text": "3.0 per 1,000 women of reproductive age", "correct": false}, {"label": "B", "text": "1.5 per 1,000 live births", "correct": false}, {"label": "C", "text": "300 per 100,000 live births", "correct": true}, {"label": "D", "text": "15 per 100,000 women of reproductive age", "correct": false}], "correct_answer": "C. 300 per 100,000 live births", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PiZBrF8ScPpY3Jy4BoZB1741599426.mp3", "video": ""}, {"text": "What is the minimum number of postnatal visits by ASHA workers recommended in the case of a home delivery?", "options": [{"label": "A", "text": "4 visits on Day 3, Day 7, Day 14, and Day 42", "correct": false}, {"label": "B", "text": "4 visits on Day 1, Day 3, Day 7, and Day 42", "correct": false}, {"label": "C", "text": "6 visits on Day 1, Day 3, Day 7, Day 14, Day 21, and Day 42", "correct": false}, {"label": "D", "text": "7 visits on Day 1, Day 3, Day 7, Day 14, Day 21, Day 28, and Day 42", "correct": true}], "correct_answer": "D. 7 visits on Day 1, Day 3, Day 7, Day 14, Day 21, Day 28, and Day 42", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Postnatal Care by ANM</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HBNC by ASHA</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Home Delivery</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimum 4 visits on</p>\n<p>Day 1,3,7 and 42</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimum 7 visits on</p>\n<p>Day 1, 3, 7, 14, 21, 28, 42</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Institutional Delivery</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimum 3 visits on</p>\n<p>Day 3, 7 and 42</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Minimum 6 visits on</p>\n<p>Day 3, 7, 14, 21, 28, 42</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/9AMMvLgYSvKJhazewBor1741599293.mp3", "video": ""}, {"text": "Which maternal health initiative launched by the National Health Mission focuses on improving the quality of care in labor rooms and maternity operation theaters?", "options": [{"label": "A", "text": "Pradhan Mantri Surakshit Matritva Abhiyan (PMSMA)", "correct": false}, {"label": "B", "text": "Janani Suraksha Yojana (JSY)", "correct": false}, {"label": "C", "text": "Dakshata Training", "correct": false}, {"label": "D", "text": "LaQshya", "correct": true}], "correct_answer": "D. LaQshya", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/rviVHjUJ5fYpFv0rLqb11734070396.png", "https://image.prepladder.com/content/1zrWzaDl2qwJQStqOoSC1734070452.png", "https://image.prepladder.com/content/M1KqL2CvTBq0MhjeKHzg1734174341.png", "https://image.prepladder.com/content/eVylgdClyN3m3DAqkdbc1734174364.png", "https://image.prepladder.com/content/NhCEdmyVfJelWiVY7V8o1734071225.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:741px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Initiative</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Aims</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pradhan Mantri Surakshit Matritva Abhiyan (PMSMA)</strong></p>\n<p>(Option 1)</p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"300\" src=\"https://image.prepladder.com/content/1zrWzaDl2qwJQStqOoSC1734070452.png\" width=\"350\"/></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>To offer free, comprehensive, and high-quality <span class=\"customMeta\" data-dictid=\"42bfa0b99f16927771817ed9a23b27\">antenatal</span> care to all pregnant women on the 9th of each month.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Janani Shishu Suraksha Karyakram (JSSK)</strong></p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"397\" src=\"https://image.prepladder.com/content/M1KqL2CvTBq0MhjeKHzg1734174341.png\" width=\"300\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Entitles all pregnant women giving birth in <span class=\"customMeta\" data-dictid=\"f42f73407916927771969cb688f953\">public health</span> institutions to receive completely free services, including <span class=\"customMeta\" data-dictid=\"3c6bfcae8c1692777184ceb5d2efc3\">cesarean</span> sections, and also covers free transportation.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Janani Suraksha Yojana (JSY) </strong>(Option 2)</p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"190\" src=\"https://image.prepladder.com/content/eVylgdClyN3m3DAqkdbc1734174364.png\" width=\"300\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>To reduce <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> and <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> mortality by promoting institutional deliveries among poor pregnant women through financial incentives.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>SUMAN - </strong><strong>Surakshit Matritva Aashwasan</strong><strong> </strong></p>\n<p><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"233\" src=\"https://image.prepladder.com/content/NhCEdmyVfJelWiVY7V8o1734071225.png\" width=\"350\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Free, respectful healthcare with <span class=\"customMeta\" data-dictid=\"116e588c7b1692777202c7f3040428\">zero</span> service denials, aiming to prevent <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">maternal</span> and <span class=\"customMeta\" data-dictid=\"04df903fe8169277719383126b1b02\">newborn</span> deaths. Beneficiaries include all pregnant women, up to 6 months post-delivery, and sick infants.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dakshata Training</strong></p>\n<p>(Option 3)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A training program designed to enhance the skills and competencies of healthcare providers in <span class=\"customMeta\" data-dictid=\"189765510816927771901dbc0470bb\">intrapartum</span> and immediate <span class=\"customMeta\" data-dictid=\"3d885759d516927771966b84bfa470\">postpartum</span> care.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/9QSngKrppEyJXKeu5nZf1741599162.mp3", "video": ""}, {"text": "A 28 y/o pregnant woman, currently at 24 weeks of gestation, visits you for her routine antenatal check-up. She reports feeling excessive thirst and has been urinating more frequently than usual. She also mentions occasional fatigue. Her obstetric history includes a previous pregnancy with a baby weighing 4.2 kg at birth. Which of the following tests would you recommend for her?", "options": [{"label": "A", "text": "Random Blood Sugar Test (RBS)", "correct": false}, {"label": "B", "text": "Fasting Blood Sugar Test (FBS)", "correct": false}, {"label": "C", "text": "Oral glucose challenge test (OGCT)", "correct": true}, {"label": "D", "text": "HbA1c Test", "correct": false}], "correct_answer": "C. Oral glucose challenge test (OGCT)", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/miRlksvvgNzUIhpRwzqh1741599013.mp3", "video": ""}, {"text": "A 25 y/o primigravida, in her 2nd month of pregnancy, has come to you for her routine antenatal checkup. On further questioning, you find out that she has not been given any vaccinations yet. Which of the following is TRUE regarding vaccination protocols in pregnancy?", "options": [{"label": "A", "text": "A booster dose of the Td vaccine is enough for this patient", "correct": false}, {"label": "B", "text": "3 doses of Td vaccine must be given", "correct": false}, {"label": "C", "text": "1st Td dose should be given as soon as possible", "correct": true}, {"label": "D", "text": "2nd dose should be given 48 days after the 1st dose", "correct": false}], "correct_answer": "C. 1st Td dose should be given as soon as possible", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/X0vihwZSieFZld0m3sIJ1734070244.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/XtneeIZ2TJtcIlShslRg1741598863.mp3", "video": ""}, {"text": "A 23 y/o woman, who works at a construction site, comes to you with obstetric code G1P0L0, in her 2nd trimester for her 2nd routine check-up. She is anemic and has a Hb value of 8.4g/dl. Which of the following would not be the right advice for her?", "options": [{"label": "A", "text": "She should take 1 iron and folic acid (IFA) tablet daily.", "correct": true}, {"label": "B", "text": "She should increase her calorie intake", "correct": false}, {"label": "C", "text": "She should increase her calcium and vitamin A intake .", "correct": false}, {"label": "D", "text": "She must come for at least 2 more ANC visits", "correct": false}], "correct_answer": "A. She should take 1 iron and folic acid (IFA) tablet daily.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Calorie requirements according to NIN (National Institute of Nutrition)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Pregnancy: +350 kcal/day.</li>\n<li>Lactation:\n\t\t\t\t<ul>\n<li>0-6 months: +600 kcal/day.</li>\n<li>7-12 months: +520 kcal/day.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ideal time</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>1st trimester: No additional calories required.</li>\n<li>2nd trimester: 350 kcal/day.</li>\n<li>3rd trimester: 450 kcal/day.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Daily <span class=\"customMeta\" data-dictid=\"f8330e788f16927771812e4f73b80c\">allowance</span> for females</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Sedentary: 1660 kcal.</li>\n<li>Moderate: 2100 kcal.</li>\n<li>Heavy worker: 2700 kcal.\n\t\t\t\t<ul>\n<li>+350 means we add to <span class=\"customMeta\" data-dictid=\"484e72500916927771982789485f51\">sedentary</span> (1660).</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ixohqD8ibM12IOSnd9V11741598680.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 35 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "A mother delivers in a rural area under the guidance of a skilled care attendant. Which of the following is incorrect regarding the care provided by the skilled care attendant at birth?", "options": [{"label": "A", "text": "Start breastfeeding as early as possible", "correct": false}, {"label": "B", "text": "Cover the baby's head and body", "correct": false}, {"label": "C", "text": "Bathe the baby with warm water", "correct": true}, {"label": "D", "text": "Clear eyes with a sterile swab", "correct": false}], "correct_answer": "C. Bathe the baby with warm water", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Bathe the baby with\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What kit would you recommend for a 30-year-old woman who has been experiencing creamy discharge with a fishy odor for the past month, AMSEL's score of 3 out of 4 on the Whiff test, and positive amines in the secretion when tested with 10% KОН?", "options": [{"label": "A", "text": "Red kit", "correct": false}, {"label": "B", "text": "Blue kit", "correct": false}, {"label": "C", "text": "Green kit", "correct": true}, {"label": "D", "text": "Grey kit", "correct": false}], "correct_answer": "C. Green kit", "question_images": ["https://image.prepladder.com/content/xWUVMNqB8QZvUP7BC3xA1747132738.png"], "explanation_images": ["https://image.prepladder.com/content/Z0ceJ3EOBoJolekIw8F41748156386.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:638px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Suraksha Clinics: Integrating STI/RTI Treatment and HIV/AIDS Control</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Government STI/RTI clinics, branded as \"Suraksha Clinics,\" offer free standardized integrated STD and RTI treatment services at district-level and above healthcare facilities.</li>\n<li>Under National AIDS Control Program (NACP)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Referral Centers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>STD Clinics at district, block, and First Referral Unit (FRU) levels act as referral centers for specialized treatment.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Counselling and <span class=\"customMeta\" data-dictid=\"672aab321d16927771840ecbc284dd\">Condom</span> Distribution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Counselling services and high-quality condoms are provided to promote safer sexual practices.</li>\n<li>Utilizes the expertise of NGOs in providing counselling services at STD clinics.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Training and strengthening existing centers</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Existing STD clinics in hospitals and medical colleges are strengthened with technical support, equipment,</li>\n<li>Training for medical staff to manage STDs/RTIs using a <span class=\"customMeta\" data-dictid=\"87356352bc169277719923fcc93329\">syndromic</span> approach.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Pre-packed STI/RTI Color-Coded Kits</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Free pre-packed kits provided to clinics, centrally procured and distributed through State AIDS Control Societies.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p><strong>Kit Colors and Conditions</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 1 (Grey) <strong>(Option D ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Urethral discharge, <strong>anorectal discharge</strong>, and cervicitis<strong> (Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 2 (Green) <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Vaginitis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 3 (White) (Non-herpetic)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Genital ulcers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 4 (Blue) (non-herpetic) in patient allergic to <span class=\"customMeta\" data-dictid=\"7f576b591a1692777195da1639d0fe\">penicillin</span> <strong>(Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Genital ulcers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 5 (Red) (herpetic) <strong>(Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Genital ulcers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 6 (Yellow)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain (PID)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p>Kit 7 (Black)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Inguinal bubo</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a village with a given population, the total number of live births in a year is 4000. 40 newborns died within the first 7 days of life whereas 40 died due to various causes between 8 to 28 days of life. There were 50 deaths between the age of 1 month to 6 months of life and O of them died in utero. What is the neonatal mortality rate in this population?", "options": [{"label": "A", "text": "10", "correct": false}, {"label": "B", "text": "20", "correct": true}, {"label": "C", "text": "30", "correct": false}, {"label": "D", "text": "40", "correct": false}], "correct_answer": "B. 20", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B) 20</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Early <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> mortality rate</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>(No. of deaths of children (neonate) 0 – 7 days of life / live births) x 1000)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Late <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> mortality rate</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>(No. of deaths of children (neonate) 8th – 28 days of</p>\n<p>life / live birth) x 1000)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Post <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> mortality rate</strong></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>(No. of deaths of children (neonate) 29th day - 1 year of life / live births) x 1000)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which one of the following options does not meet the minimum standards for maintaining sanitation in schools and their surroundings in India?", "options": [{"label": "A", "text": "Desks to be of 'Minus type'", "correct": false}, {"label": "B", "text": "Combined doors + windows area = 25% of floor space area", "correct": false}, {"label": "C", "text": "Maximum 40 students per classroom", "correct": false}, {"label": "D", "text": "One urinal for 10 students and one latrine for 25 students", "correct": true}], "correct_answer": "D. One urinal for 10 students and one latrine for 25 students", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Location</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Centrally situated with proper approach roads, away from busy places like roads, factories, and marketplaces. School premises should be fenced and hazard-free.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Site</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High, well-drained land. 10 acres for higher elementary schools, 5 acres for primary schools, with additional 1 acre per 100 students.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Structure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Single-story buildings preferred. Exterior walls should be 10 inches thick and heat-resistant</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Doors and windows</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Combined door + window area = atleast 25% of floor area.</li>\n<li>Cross <span class=\"customMeta\" data-dictid=\"a58f1f33f81692777201ad5e0d60ca\">ventilation</span> should be present. <strong>(Option B ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Classroom</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>No more than 40 students per room. Minimum 10 sq. ft. per student. <strong>(Option C ruled out)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Color of Interior</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>White interior walls, periodically white-washed.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Furniture</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Desks should be of ‘minus type’.</li>\n<li>Chair with proper back rest. <strong>(Option A ruled out)</strong></li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Lighting</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Natural light from the left side, not from the front.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Water Supply</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Independent source of safe, <span class=\"customMeta\" data-dictid=\"e0b9b6647b1692777196072340adcd\">potable</span> water, continuous supply distributed from taps.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Lavatory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>One <span class=\"customMeta\" data-dictid=\"24c775f05716927772010e1b4d56a8\">urinal</span> per 60 students, one latrine per 100 students. Separate facilities for boys and girls. <strong>(Option D)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The true statement about cow's milk (per 100 gm) when compared to breast milk is:", "options": [{"label": "A", "text": "Lower sodium content", "correct": false}, {"label": "B", "text": "Higher lactose content", "correct": false}, {"label": "C", "text": "Lower protein", "correct": false}, {"label": "D", "text": "High protein", "correct": true}], "correct_answer": "D. High protein", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Nutritional Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Human Milk</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Cow Milk</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Protein Content</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower, easily digestible</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Higher, harder to digest <strong>(Option D)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Essential <span class=\"customMeta\" data-dictid=\"543f207eb51692777181723491a358\">Amino</span> Acids (e.g., cysteine, taurine)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rich</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Vitamin A & C</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rich</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Iron</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Higher bioavailability</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower bioavailability</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Calcium</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Adequate, better absorbed</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Higher content, less effectively absorbed</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Fat Content</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Higher proportion of essential <span class=\"customMeta\" data-dictid=\"bc6cd9a9f9169277720261812ea113\">fatty</span> acids (e.g., linoleic, alpha-linolenic)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower proportion of essential <span class=\"customMeta\" data-dictid=\"bc6cd9a9f9169277720261812ea113\">fatty</span> acids</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Carbohydrate content</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lactose: 7.5 g/100 mL</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lactose: 5 g/100 mL</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Digestibility</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Almost completely digested</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Much is excreted undigested</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Risk of Overloading Kidneys</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Low</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>High (hence <span class=\"customMeta\" data-dictid=\"409e887c94169277718652d5db3c32\">dilution</span> recommended)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A pregnant woman whose niece lives with her in the same house contracted Varicella. She tested negative for serum antibodies against varicella. What would this mean?", "options": [{"label": "A", "text": "She is immune to zoster", "correct": false}, {"label": "B", "text": "She is susceptible to zoster", "correct": false}, {"label": "C", "text": "She is susceptible to chickenpox", "correct": true}, {"label": "D", "text": "She is immune to chickenpox", "correct": false}], "correct_answer": "C. She is susceptible to chickenpox", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:537px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Serology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Interpretation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Risk Status</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Positive VZV IgG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Past infection or vaccination</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Immune to chickenpox</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Negative VZV IgG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>No prior exposure</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Susceptible to chickenpox</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Positive VZV IgM</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recent infection</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Active <span class=\"customMeta\" data-dictid=\"d5b9e7187c16927771847488b5f135\">chickenpox</span> infection</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to the 2010-2013 verbal autopsy report, please arrange the following causes of neonatal mortality in descending order, starting from the highest to the lowest. 1. Prematurity and low birth weight 2. Birth injuries and birth asphyxia 3. Congenital anomalies 4. Sepsis", "options": [{"label": "A", "text": "1&gt;2&gt;4&gt;3", "correct": true}, {"label": "B", "text": "1&gt;4&gt;2&gt;3", "correct": false}, {"label": "C", "text": "4&gt;1&gt;2&gt;3", "correct": false}, {"label": "D", "text": "1&gt;2&gt;3&gt;4", "correct": false}], "correct_answer": "A. 1>2>4>3", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As per the verbal autopsy report 2010-2013, arrange the most common cause of death among 1-4-year-old children in descending order: . Diarrhea 2. Pneumonia 3. Malaria 4. Injuries", "options": [{"label": "A", "text": "2&gt;1&gt;3&gt;4", "correct": false}, {"label": "B", "text": "4&gt;1&gt; 2&gt;3", "correct": false}, {"label": "C", "text": "1&gt;2&gt;4&gt;3", "correct": false}, {"label": "D", "text": "2&gt;1&gt;4&gt;3", "correct": true}], "correct_answer": "D. 2>1>4>3", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\">Rank</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\">Cause of Death</p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\">Deaths (%)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Male</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Female</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Person</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Pneumonia</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">17.6</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">18.9</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">18.2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Diarrhoeal diseases</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">16.3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">19.4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">17.9</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Injuries</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">18.5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">15.3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">16.9</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Other noncommunicable diseases</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">11.8</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">9.4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">10.6</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Malaria</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">7.4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">6.5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">7.0</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">6</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Fever of unknown origin</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">6.5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">6.2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">6.3</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">7</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Other <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> and <span class=\"customMeta\" data-dictid=\"c0433f52ad1692777194c2ffb6fc63\">parasitic</span> diseases</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.9</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">4.2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">4.0</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">8</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Congenital anomalies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.9</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.5</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">9</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Meningitis/encephalitis</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.5</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">10</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Ill defined or cause unknown</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">3.2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">All Other Remaining Causes</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">7.3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">10.4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">8.9</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"> </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Total</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">100.0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">100.0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">100.0</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Compared to a pregnant female, a lactating female would require a higher level of nutrient supplementation for which of the following?", "options": [{"label": "A", "text": "Vitamin A", "correct": false}, {"label": "B", "text": "Calcium", "correct": true}, {"label": "C", "text": "Iron", "correct": false}, {"label": "D", "text": "Folic acid", "correct": false}], "correct_answer": "B. Calcium", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "According to WHO, what is the minimum number of antenatal visits?", "options": [{"label": "A", "text": "8", "correct": true}, {"label": "B", "text": "4", "correct": false}, {"label": "C", "text": "12", "correct": false}, {"label": "D", "text": "14", "correct": false}], "correct_answer": "A. 8", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The pregnancy test kit launched by the government is called:", "options": [{"label": "A", "text": "NISHCHAY", "correct": true}, {"label": "B", "text": "NIKSHAY", "correct": false}, {"label": "C", "text": "NIKUSTH", "correct": false}, {"label": "D", "text": "AXSHYA", "correct": false}], "correct_answer": "A. NISHCHAY", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/GyIqkXfJ4upsibFMqhPd1746102978.png", "https://image.prepladder.com/content/cd52X5z1Jyhm8QxATBw41746102985.png"], "explanation": "<p>Correct Answer A - NISHCHAY</p>\n<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Mission Parivar Vikas</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<ul>\n<li>It aims to promote family planning and reduce the population</li>\n<li><strong>Nayi pahel kit-</strong> family planning kit for newlyweds</li>\n<li><strong>Saas bahu samelan-</strong> encourages daughter-in-law and mother-in-law to discuss family planning</li>\n<li><strong>Saarthi-</strong> family planning mobile van</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>NISHCHAY</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Home testing UPT provided by ASHA</li>\n</ul>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"377\" src=\"https://image.prepladder.com/content/GyIqkXfJ4upsibFMqhPd1746102978.png\" width=\"686\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Jansankhya sthirata kosh</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Population <span class=\"customMeta\" data-dictid=\"6694ddb1db1692777199c9a1e38bf0\">stabilization</span> fund ADD ON: provides incentives for delaying marriage, birth spacing</li>\n</ul>\n<div style=\"text-align:center\">\n<figure class=\"caption_element\" style=\"display:inline-block\"><img alt=\"\" data-author=\"NA\" data-hash=\"\" data-license=\"NA\" data-source=\"NA\" data-tags=\"\" height=\"350\" src=\"https://image.prepladder.com/content/cd52X5z1Jyhm8QxATBw41746102985.png\" width=\"686\"/>\n<figcaption>{{caption_text}}</figcaption>\n</figure>\n</div>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Gather approach</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Contraception counseling method</li>\n<li>Stands for Greet, Ask, Tell, Help, Explain, and Return</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "When should a primigravida initiate breastfeeding after a normal delivery of a healthy baby?", "options": [{"label": "A", "text": "Within 1 hour", "correct": true}, {"label": "B", "text": "After 1 hour", "correct": false}, {"label": "C", "text": "After 4-6 hours", "correct": false}, {"label": "D", "text": "After 24 hours", "correct": false}], "correct_answer": "A. Within 1 hour", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which is not a part of Anemia Mukt Bharat Programme?", "options": [{"label": "A", "text": "6 beneficiaries", "correct": false}, {"label": "B", "text": "6 interventions", "correct": false}, {"label": "C", "text": "6 institutional mechanisms", "correct": false}, {"label": "D", "text": "6 health functionaries", "correct": true}], "correct_answer": "D. 6 health functionaries", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Component</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Launch Year</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2018</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Objective</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reduce <span class=\"customMeta\" data-dictid=\"53bee2a41216927771814d7ec3a67f\">anemia</span> <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> across different population groups</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 Beneficiaries</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Children (6-59 months, 5-9 years), Adolescents (10-19 years), Pregnant & Lactating women, Women of <span class=\"customMeta\" data-dictid=\"11e24b369816927771974383c7e17c\">reproductive</span> age</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 Interventions</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Iron supplementation, Deworming, Delayed cord clamping, BCC, Testing & treatment, Dietary diversification</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>6 Institutional Mechanisms</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Political commitment, Supply chain management, Training & capacity building, Monitoring, Convergence, Research & Innovation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Target</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reduce <span class=\"customMeta\" data-dictid=\"53bee2a41216927771814d7ec3a67f\">anemia</span> <span class=\"customMeta\" data-dictid=\"f86aae0bd61692777196f91458c9dd\">prevalence</span> by 3% per year</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The formula with the numerator being maternal deaths and the denominator being women of reproductive age represents which of the following?", "options": [{"label": "A", "text": "Maternal mortality rate", "correct": true}, {"label": "B", "text": "Maternal mortality ratio", "correct": false}, {"label": "C", "text": "Perinatal mortality rate", "correct": false}, {"label": "D", "text": "Perinatal mortality ratio", "correct": false}], "correct_answer": "A. Maternal mortality rate", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/0rrW2d8111SYrsgbQpk91724850120.png"], "explanation": "<p>Correct Option A - <span class=\"customMeta\" data-dictid=\"a191a950d7169277719148e72a75e2\">Maternal</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Given 500 live births, 12 stillbirths, and 9 deaths within the first 7 days, calculate the Early Neonatal Mortality Rate (ENMR).", "options": [{"label": "A", "text": "18", "correct": true}, {"label": "B", "text": "36", "correct": false}, {"label": "C", "text": "24", "correct": false}, {"label": "D", "text": "50", "correct": false}], "correct_answer": "A. 18", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/hPrxR42XNGHlL9N50Zma1724761316.png", "https://image.prepladder.com/content/UYFC5wyPbC3iwtTbQ1G71724850579.png"], "explanation": "<p>Correct Option A\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Calculate the maternal mortality ratio (MMR) for the year 2023, given the following events: Total women who died: 6 Total live births: 4000 Causes of death: 1 due to road traffic accident (RTA) 1 due to sepsis 1 due to obstructed labor 1 due to eclampsia 1 due to ectopic pregnancy 1 due to snake bite", "options": [{"label": "A", "text": "75", "correct": false}, {"label": "B", "text": "150", "correct": false}, {"label": "C", "text": "100", "correct": true}, {"label": "D", "text": "125", "correct": false}], "correct_answer": "C. 100", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/KQZXozMX6xcsH0yPiDNz1724761497.png", "https://image.prepladder.com/content/DFT5z5jDfsSYzAnoUdaS1724850628.png"], "explanation": "<p>Correct Option C\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What were the goals for Maternal Mortality Rate (MMR) and Infant Mortality Rate (IMR) by 2023?", "options": [{"label": "A", "text": "70/30", "correct": true}, {"label": "B", "text": "30/70", "correct": false}, {"label": "C", "text": "100/30", "correct": false}, {"label": "D", "text": "30/100", "correct": false}], "correct_answer": "A. 70/30", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/tt2O1ASwwNmQIl04h0xH1747138342.png", "https://image.prepladder.com/content/WmOwUxcC0p9pNpbOMkzC1747138366.png"], "explanation": "<p>Correct Option A- 70/3\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a population with a total of 4050 births, there are 50 stillbirths, 50 neonatal deaths within the first 7 days, and 150 deaths between 8 and 28 days of life. What is the Neonatal Mortality Rate (NMR) for this population?", "options": [{"label": "A", "text": "12.5", "correct": false}, {"label": "B", "text": "50", "correct": true}, {"label": "C", "text": "49.4", "correct": false}, {"label": "D", "text": "62.5", "correct": false}], "correct_answer": "B. 50", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B- 5\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the statements about palliative care is true? A. Disease is the centre of concern B. The patient is sovereign C. Death should neither be prolonged nor hastened D. The aim is to improve the quality of life E. The intention is to cure F. Imperative to do something than passively observe", "options": [{"label": "A", "text": "A, B, C, D", "correct": false}, {"label": "B", "text": "C, E, F", "correct": false}, {"label": "C", "text": "B, D, F", "correct": true}, {"label": "D", "text": "A, B, E, F", "correct": false}], "correct_answer": "C. B, D, F", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 22-year-old female comes to the STI clinic with minimal vaginal discharge. On speculum examination, erosions are seen on the cervix. Which of the following kit should be given to this patient?", "options": [{"label": "A", "text": "Green", "correct": false}, {"label": "B", "text": "Red", "correct": false}, {"label": "C", "text": "Grey", "correct": true}, {"label": "D", "text": "Yellow", "correct": false}], "correct_answer": "C. Grey", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Kit</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Colour</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Indication</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Medicines</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Grey</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>→ Urethral discharge</p>\n<p>→ Cervicitis</p>\n<p>→ Ano-rectal discharge</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, cefixime</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Green <strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Vaginitis</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Secnidazole, fluconazole</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>White</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Non-herpetic <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">genital</span> ulcers</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, B. Penicillin</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Blue</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>→ <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">Genital</span> ulcers</p>\n<p>→ <span class=\"customMeta\" data-dictid=\"7f576b591a1692777195da1639d0fe\">Penicillin</span> <span class=\"customMeta\" data-dictid=\"aa1288c36b16927771814fa5aa84eb\">allergy</span> +</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Red <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Herpetic <span class=\"customMeta\" data-dictid=\"0e919a208b16927771885d9c1f6662\">genital</span> ulcers</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Acyclovir</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Yellow <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Lower <span class=\"customMeta\" data-dictid=\"1665a40f1016927771801899eaed5d\">abdominal</span> pain</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cefixime metronidazole, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>7</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Black</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inguinal bubo</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Azithromycin, doxycycline</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>8</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Brown</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anorectal <span class=\"customMeta\" data-dictid=\"9dd87431ba1692777186ecfb21d258\">discharge</span> syndrome</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Cefixime, doxycycline</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A pregnant woman with a 2-year-old child gives a history of completing required antenatal vaccinations during her previous pregnancy. Which of the following would you recommend for her current pregnancy?", "options": [{"label": "A", "text": "Give a booster dose of TT", "correct": false}, {"label": "B", "text": "Give a booster dose of Td", "correct": true}, {"label": "C", "text": "Give 2 doses of TT", "correct": false}, {"label": "D", "text": "Give 2 doses of Td", "correct": false}], "correct_answer": "B. Give a booster dose of Td", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The school health programs are managed by which of the following?", "options": [{"label": "A", "text": "Primary health centre", "correct": true}, {"label": "B", "text": "District hospital", "correct": false}, {"label": "C", "text": "Sub-centre", "correct": false}, {"label": "D", "text": "Sub-divisional hospital", "correct": false}], "correct_answer": "A. Primary health centre", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Primary health\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the most effective indicator for measuring the overall health of a society?", "options": [{"label": "A", "text": "Under 5 mortality rate", "correct": false}, {"label": "B", "text": "Infant Mortality Rate", "correct": true}, {"label": "C", "text": "Child death rate", "correct": false}, {"label": "D", "text": "Maternal mortality rate", "correct": false}], "correct_answer": "B. Infant Mortality Rate", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"dd5a4b46231692777190d1d2cf4d23\">Infant Mortality Rate</span> (IMR)\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "During a routine check-up, a 26-year-old pregnant woman visited the sub centre. Which of the following tests are typically conducted at the sub centre for pregnant women?", "options": [{"label": "A", "text": "USG", "correct": false}, {"label": "B", "text": "Haemoglobin", "correct": true}, {"label": "C", "text": "OGTT", "correct": false}, {"label": "D", "text": "Triple test", "correct": false}], "correct_answer": "B. Haemoglobin", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Haemog\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Sensitive parameter of combined obstetric and pediatric care in the country is:", "options": [{"label": "A", "text": "Post neonatal mortality rate", "correct": false}, {"label": "B", "text": "Infant mortality rate", "correct": false}, {"label": "C", "text": "Neonatal mortality rate", "correct": false}, {"label": "D", "text": "Perinatal mortality rates", "correct": true}], "correct_answer": "D. Perinatal mortality rates", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - <span class=\"customMeta\" data-dictid=\"a0d3680eab1692777195d6ab932b14\">Perinatal</span> Mortality R\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the dosage of vitamin A given for a 2-year-old baby with keratomalacia?", "options": [{"label": "A", "text": "2,00,000 IU immediately, followed by same dose after 24 hours", "correct": false}, {"label": "B", "text": "1,00,000 IU immediately, followed by the same dose after 1 week", "correct": false}, {"label": "C", "text": "1,00,000 IU immediately, followed by the same dose after 24 hours and after a week", "correct": false}, {"label": "D", "text": "2,00,000 IU immediately, followed by the same dose 24 hours later and after 2 weeks", "correct": true}], "correct_answer": "D. 2,00,000 IU immediately, followed by the same dose 24 hours later and after 2 weeks", "question_images": [], "explanation_images": [], "explanation": "\n<table>\n<tbody>\n<tr>\n<td>\n<p><strong>Age Group</strong></p>\n</td>\n<td>\n<p><strong>Recommended <span class=\"customMeta\" data-dictid=\"4941f0477a1692777202923cd79e22\">Vitamin A</span> Dose</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>6-11 months</p>\n</td>\n<td>\n<p>100,000 IU</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>12-59 months</p>\n</td>\n<td>\n<p>200,000 IU</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>5-12 years</p>\n</td>\n<td>\n<p>200,000 IU</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>13 years and above</p>\n</td>\n<td>\n<p>500,000 IU</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Most common cause of LBW in India?", "options": [{"label": "A", "text": "Smoking during pregnancy", "correct": false}, {"label": "B", "text": "Maternal tetanus", "correct": false}, {"label": "C", "text": "Intra-uterine growth retardation", "correct": false}, {"label": "D", "text": "Premature birth", "correct": true}], "correct_answer": "D. Premature birth", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - Premature birth\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the additional amount of energy needed on a daily basis during pregnancy? (in Kcalories)", "options": [{"label": "A", "text": "+300 kcal", "correct": false}, {"label": "B", "text": "+600 kcal", "correct": false}, {"label": "C", "text": "+350 kcal", "correct": true}, {"label": "D", "text": "+520 kcal", "correct": false}], "correct_answer": "C. +350 kcal", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 38 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "You have gone to a village for screening where people have diabetes and hypertension. What type of screening is done for family members of these patients who show up in large numbers?", "options": [{"label": "A", "text": "Multiphasic screening", "correct": false}, {"label": "B", "text": "Mass screening", "correct": false}, {"label": "C", "text": "High-risk screening", "correct": true}, {"label": "D", "text": "Anonymous screening", "correct": false}], "correct_answer": "C. High-risk screening", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type of Screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Description</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Example</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Mass screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Testing <strong>entire populations</strong>, regardless of risk.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Screening all adults in a village for hypertension.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>High-risk screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Targeting individuals with <strong>known risk factors</strong>.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Screening <strong>family members of diabetics</strong> for early detection.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Multiphasic screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Conducting <strong>multiple tests</strong> in one session to detect various diseases.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Screening for <strong>diabetes, hypertension, and cholesterol</strong> simultaneously.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Anonymous screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Testing where <strong>participants' identities remain unknown</strong>.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>HIV screening in high-risk populations without recording names.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Diabetic screening for the pregnant mother in India is done between:", "options": [{"label": "A", "text": "24-28W", "correct": true}, {"label": "B", "text": "32-36W", "correct": false}, {"label": "C", "text": "18-24W", "correct": false}, {"label": "D", "text": "14-18W", "correct": false}], "correct_answer": "A. 24-28W", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - 24-28 week\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "The current approach for the initial screening of women for cervical cancer at a primary health center is-", "options": [{"label": "A", "text": "Visual inspection after application of freshly prepared solution 5% acetic acid solution", "correct": true}, {"label": "B", "text": "Colposcopy", "correct": false}, {"label": "C", "text": "Cervical biopsy", "correct": false}, {"label": "D", "text": "High vaginal biopsy", "correct": false}], "correct_answer": "A. Visual inspection after application of freshly prepared solution 5% acetic acid solution", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Visual inspection after application of freshly prepared solution 5% <span class=\"customMeta\" data-dictid=\"0dd11cf9621692777180830d7825b2\">acetic</span> acid solu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "For assessing the viral load in a test sample, which test utilizes the provided graph?", "options": [{"label": "A", "text": "Antigen test", "correct": false}, {"label": "B", "text": "Real-time RT PCR", "correct": true}, {"label": "C", "text": "CBNAAT", "correct": false}, {"label": "D", "text": "TruNat", "correct": false}], "correct_answer": "B. Real-time RT PCR", "question_images": ["https://image.prepladder.com/content/FgXxiTFcvhOzXqZjC5OO1748163922.png"], "explanation_images": [], "explanation": "<p>Correct Answer B - <span class=\"customMeta\" data-dictid=\"9ddd195e9a1692777197bb3f135c2e\">Real-time</span> RT PCR\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the statements below is correct?", "options": [{"label": "A", "text": "In a population with low prevalence of the disease, positive result with a highly sensitive test means true positive", "correct": false}, {"label": "B", "text": "Sensitivity depends on prevalence of the disease", "correct": false}, {"label": "C", "text": "Positive predictive value depends on prevalence of disease", "correct": true}, {"label": "D", "text": "Specificity depends on prevalence of the disease", "correct": false}], "correct_answer": "C. Positive predictive value depends on prevalence of disease", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/t9Y0UEkZACsMsSvKeeDg1745560395.png", "https://image.prepladder.com/content/TL3QFRpDF7NrmcLSPXEr1745560395.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What factor is the external validity of a screening test associated with?", "options": [{"label": "A", "text": "Stability", "correct": false}, {"label": "B", "text": "Objectivity", "correct": false}, {"label": "C", "text": "Generalizability", "correct": true}, {"label": "D", "text": "Repeatability", "correct": false}], "correct_answer": "C. Generalizability", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is an example of prospective screening?", "options": [{"label": "A", "text": "Cervical Pap smear in a 40-year-old patient", "correct": false}, {"label": "B", "text": "Neonatal screening of a new-born baby for hypothyroidism", "correct": false}, {"label": "C", "text": "Screening of immigrants for infectious diseases such as tuberculosis", "correct": true}, {"label": "D", "text": "Urine for sugar screening in a 40-year-old man", "correct": false}], "correct_answer": "C. Screening of immigrants for infectious diseases such as tuberculosis", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Prescriptive Screening</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Prospective Screening </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Done for their own benefit.</li>\n<li>Secondary level of prevention.</li>\n<li>Early diagnosis.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<ul>\n<li>Done for other's benefit.</li>\n<li>The primary level of prevention.</li>\n<li>Control/ prevention of disease.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>E.g.</p>\n<ul>\n<li>Screening neonates for <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> <span class=\"customMeta\" data-dictid=\"8d4d1904791692777189941782330d\">hypothyroidism</span> <strong>(Option B ruled out)</strong></li>\n<li>Deafness in children</li>\n<li>Blood <span class=\"customMeta\" data-dictid=\"af3ae60c0c16927771889b84ca41c0\">glucose</span> testing for <span class=\"customMeta\" data-dictid=\"b6a934c67b16927771868fca92baf9\">diabetes mellitus</span> and gestational diabetes</li>\n<li>Mammography for breast cancer</li>\n<li>Pap <span class=\"customMeta\" data-dictid=\"6777533153169277719804fcbbf2d1\">smear</span> for <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> cancer <strong>(Option A ruled out)</strong></li>\n<li>Visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> for <span class=\"customMeta\" data-dictid=\"cae831e44316927771973fa5e13fd7\">refractive</span> errors.</li>\n<li>Urine sugar screening for diabetes <strong>(Option D ruled out)</strong></li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>E.g.</p>\n<ul>\n<li>Screening of immigrants for diseases like TB and COVID <strong>(Option C)</strong></li>\n<li>HIV screening for blood donation</li>\n<li>HIV screening in ANC cases</li>\n<li>Health checkups for workers in the food industry.</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A healthy person got in contact with an infected case, and they have to separate him as he is sick now. This is:", "options": [{"label": "A", "text": "Absolute quarantine", "correct": false}, {"label": "B", "text": "Isolation", "correct": true}, {"label": "C", "text": "Interruption of transmission", "correct": false}, {"label": "D", "text": "Serial interval", "correct": false}], "correct_answer": "B. Isolation", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Isolation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Quarantine</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>For people who are sick</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>For well people who may have been exposed to a <span class=\"customMeta\" data-dictid=\"6f6ef8bf7c1692777184dfdf8cf45d\">communicable</span> disease</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Separates people who are sick from those who are not sick</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Applies to people who may or may not become sick</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Restricts movement of people with an <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> disease to stop the spread of the Illness</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Restricts the movement of healthy people who may develop a disease after possible exposure to an <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Allows for appropriate treatment in a hospital type/setting</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Requires people to stay in a designated location, e.g. their home. For a specified period of time</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Requires appropriate personal protective equipment (ppe) for those coming into contact with the person who is sick</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Requires active monitoring including taking temperature twice daily and checking for other symptoms</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Requires proper infection control, <span class=\"customMeta\" data-dictid=\"f39be0f0871692777199459d86e0a7\">sterilization</span> and waste management</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>PPE not required for contact with people who are not ill</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which factor has the greatest impact on positive predictive value?", "options": [{"label": "A", "text": "Sensitivity", "correct": false}, {"label": "B", "text": "Prevalence", "correct": true}, {"label": "C", "text": "Specificity", "correct": false}, {"label": "D", "text": "Relative risk", "correct": false}], "correct_answer": "B. Prevalence", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B) Prev\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the term used to describe the time interval between points A and B in the flowchart depicting the natural progression of the disease?", "options": [{"label": "A", "text": "Lead time", "correct": false}, {"label": "B", "text": "Screening time", "correct": true}, {"label": "C", "text": "Generation time", "correct": false}, {"label": "D", "text": "Lag time", "correct": false}], "correct_answer": "B. Screening time", "question_images": ["https://image.prepladder.com/content/EIKXQszEZhC0MejhWgkj1748156423.png"], "explanation_images": ["https://image.prepladder.com/content/QtJYGgRBNTUi1vz0I18K1748156463.png"], "explanation": "<p>Correct Option B) Screening\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the best level of prevention of breast cancer?", "options": [{"label": "A", "text": "Specific protection", "correct": false}, {"label": "B", "text": "Early diagnosis and treatment", "correct": true}, {"label": "C", "text": "Disability limitation", "correct": false}, {"label": "D", "text": "Rehabilitation", "correct": false}], "correct_answer": "B. Early diagnosis and treatment", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Early Diagnosis and T\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "If a patient tests positive for a disease, which of the following represents the probability of her actually having the disease?", "options": [{"label": "A", "text": "Sensitivity", "correct": false}, {"label": "B", "text": "Specificity", "correct": false}, {"label": "C", "text": "Positive predictive value", "correct": true}, {"label": "D", "text": "Negative predictive value", "correct": false}], "correct_answer": "C. Positive predictive value", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - <span class=\"customMeta\" data-dictid=\"6ec8c6811e1692777196da36a72ad6\">Positive predictive value</span> (PPV)\n<table>\n<tbody>\n<tr>\n<td>\n<p><strong>Measure</strong></p>\n</td>\n<td>\n<p><strong>Formula</strong></p>\n</td>\n<td>\n<p><strong>Definition</strong></p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Sensitivity</p>\n</td>\n<td>\n<p>Sensitivity = TP / (TP + FN)</p>\n</td>\n<td>\n<p>Sensitivity, also known as the true positive rate or recall, is the proportion of true positives (TP) correctly identified by a <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> test. It indicates the ability of the test to correctly identify individuals who have the disease or condition.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Specificity</p>\n</td>\n<td>\n<p>Specificity = TN / (TN + FP)</p>\n</td>\n<td>\n<p>Specificity is the proportion of true negatives (TN) correctly identified by a <span class=\"customMeta\" data-dictid=\"552e9ef8811692777186997018b858\">diagnostic</span> test. It represents the ability of the test to correctly identify individuals who do not have the disease or condition.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Positive <span class=\"customMeta\" data-dictid=\"758b4503bf1692777196b4872a0e36\">Predictive Value</span> (PPV)</p>\n</td>\n<td>\n<p>PPV = TP / (TP + FP)</p>\n</td>\n<td>\n<p>PPV, also known as precision, is the proportion of true positives (TP) out of all positive test results (TP + FP). It represents the <span class=\"customMeta\" data-dictid=\"f52ac1410416927771969ba21fcb63\">probability</span> that a person has the disease or condition given a positive test result.</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>Negative <span class=\"customMeta\" data-dictid=\"758b4503bf1692777196b4872a0e36\">Predictive Value</span> (NPV)</p>\n</td>\n<td>\n<p>NPV = TN / (TN + FN)</p>\n</td>\n<td>\n<p>NPV is the proportion of true negatives (TN) out of all negative test results (TN + FN). It represents the <span class=\"customMeta\" data-dictid=\"f52ac1410416927771969ba21fcb63\">probability</span> that a person does not have the disease or condition given a negative test result.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the following natural history of disease flowchart, point A to C is called as?", "options": [{"label": "A", "text": "Screening time", "correct": false}, {"label": "B", "text": "Lead time", "correct": true}, {"label": "C", "text": "Lag time", "correct": false}, {"label": "D", "text": "Generation time", "correct": false}], "correct_answer": "B. Lead time", "question_images": ["https://image.prepladder.com/content/3U04zAuX9KKrwUn8leYo1691507959.png"], "explanation_images": ["https://image.prepladder.com/content/lbm5diLukZP87W2WOVMt1694426692.png"], "explanation": "<p>Correct Option B - L\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a population of 1000 individuals, a screening test was conducted for DM (diabetes mellitus). It showed that 90 individuals tested positive for DM. Subsequently, a gold standard test for DM was conducted, and it showed that 100 individuals tested positive. Your task is to determine the sensitivity of the screening test.", "options": [{"label": "A", "text": "90/100", "correct": true}, {"label": "B", "text": "100/110", "correct": false}, {"label": "C", "text": "(90-10)/1000", "correct": false}, {"label": "D", "text": "90/1000", "correct": false}], "correct_answer": "A. 90/100", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/cHOewyNpii2QGyQy9Qn61713784334.png", "https://image.prepladder.com/content/N2LgektXdXSh0sVdeXj91713784328.png"], "explanation": "<p>Correct Option A - 9\n<p><strong>References:</strong></p>\n<ul><li>↳ Sensitivity of a screening test is a measure that indicates the proportion of true positive results correctly identified by the test. It quantifies the test's ability to correctly detect individuals who have the condition or disease being screened for.</li><li>↳ The sensitivity is calculated using the following formula:</li><li>↳ Sensitivity = True Positives / (True Positives + False Negatives)</li><li>↳ True positives refer to the number of individuals who have the condition or disease and are correctly identified as positive by the screening test. False negatives refer to the number of individuals who have the condition or disease but are incorrectly identified as negative by the screening test.</li><li>↳ To calculate the sensitivity, you need the values of true positives and false negatives. These values can be obtained by comparing the results of the screening test to a reference standard or gold standard test.</li><li>↳ For example, if out of 100 individuals who truly have the disease, the screening test correctly identifies 80 as positive (true positives) and misses 20 (false negatives), the sensitivity would be:</li><li>↳ Sensitivity = 80 / (80 + 20) = 80 / 100 = 0.8 or 80%</li><li>↳ So, in this case, the sensitivity of the screening test would be 80%.</li></u\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A large number of tests were done in series. Which of the following will be true?", "options": [{"label": "A", "text": "Sensitivity and specificity will Increase", "correct": false}, {"label": "B", "text": "Sensitivity will decrease, and specificity will increase", "correct": true}, {"label": "C", "text": "Sensitivity and specificity will decrease", "correct": false}, {"label": "D", "text": "Sensitivity will increase, and specificity will decrease", "correct": false}], "correct_answer": "B. Sensitivity will decrease, and specificity will increase", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Sensitivity will decrease, and <span class=\"customMeta\" data-dictid=\"e70dd3ea9916927771988faba61d64\">specificity</span&g\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 25 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "The patient's blood pressure is 120/80 mm Hg. Four different sphygmomanometers measure his BP, each with 3 readings. Match the sphygmomanometers with their respective accuracy and precision parameters. Sphygmomanometer readings Accuracy and Precision parameters 1. 120/80, 120/80, 120/80 a. Precise but inaccurate 2. 140/96, 108/62, 96/82 b. Imprecise but accurate 3. 140/96, 140/96, 140/96 c. Precise and accurate 4. 122/82, 120/80, 118/78 d. Imprecise and inaccurate", "options": [{"label": "A", "text": "1-c, 2-b, 3-d, 4-a", "correct": false}, {"label": "B", "text": "1-b, 2-c, 3-d, 4-a", "correct": false}, {"label": "C", "text": "1-c, 2-d, 3-a, 4-b", "correct": true}, {"label": "D", "text": "1-d, 2-a, 3-b, 4-c", "correct": false}], "correct_answer": "C. 1-c, 2-d, 3-a, 4-b", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/jt0vfLxPQZpYvU6ZHnIX1734073352.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Accurate & precise</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Not accurate & precise</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Accurate & not precise</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Not accurate & not precise</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Every line hits the central point exactly at the gold standard value.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The same finding is seen, but far from the true value; it is inaccurate.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It is accurate as the result is closer to the true value in the first circle; it is not precise.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It is not precise or accurate.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SdBD70gJ5TN5ySP7AX821731586465.mp3", "video": ""}, {"text": "All comprise inherent properties of a screening test except?", "options": [{"label": "A", "text": "Negative predictive value", "correct": false}, {"label": "B", "text": "Accuracy", "correct": false}, {"label": "C", "text": "Yield", "correct": true}, {"label": "D", "text": "Positive predictive value", "correct": false}], "correct_answer": "C. Yield", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/kAIkOYi8ttKDZ04w8ogx1747426727.mp3", "video": ""}, {"text": "A 45-year-old man presents to the emergency department with chest pain and the doctor suspects myocardial infraction thus orders a blood test to evaluate for a specific cardiac marker for the same which has a sensitivity of 95% and a specificity of 90%. In the general population, the prevalence of acute myocardial infarction is 2%, while in patients presenting to the emergency department with chest pain, the prevalence increases to 30%. Based on this scenario, which of the following statements is true concerning the test?", "options": [{"label": "A", "text": "Positive predictive value remains constant when prevalence &lt;25%", "correct": false}, {"label": "B", "text": "Negative predictive value increases as prevalence increases", "correct": false}, {"label": "C", "text": "Positive predictive value is directly proportional to the prevalence", "correct": true}, {"label": "D", "text": "Negative predictive value remains constant when prevalence &gt;75%", "correct": false}], "correct_answer": "C. Positive predictive value is directly proportional to the prevalence", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/y30iG7i9WLyBJG3jgmPx1747426986.mp3", "video": ""}, {"text": "Among the population of 5 million people in a city, 1 in every 200 undergoes sudden cardiac arrest each year. A new government formed recently wanted to know the total number of sudden cardiac arrests in this population during the last 5 years. What will be the estimate per million population?", "options": [{"label": "A", "text": "21000", "correct": false}, {"label": "B", "text": "23500", "correct": false}, {"label": "C", "text": "25000", "correct": true}, {"label": "D", "text": "28500", "correct": false}], "correct_answer": "C. 25000", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/ZTIk2o96V4Rf3a6aPzlw1734074525.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:334px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prevalence = <span class=\"customMeta\" data-dictid=\"17cd3771bb1692777190950c142dbe\">Incidence</span> x Duration</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/QCNXsz0xz5QvmwnCjLI91747426858.mp3", "video": ""}, {"text": "In a population of 1000 people who are at high risk of contracting syphilis, 650 were confirmed to be positive by serological studies. A new test that acts by detecting a new biomarker \"X\" has been introduced and 600 were found to be positive among serology-positive patients. 120 out of the remaining 350 people were also found to be having “X”. What is the positive predictive value of this new test?", "options": [{"label": "A", "text": "71%", "correct": false}, {"label": "B", "text": "94%", "correct": false}, {"label": "C", "text": "83%", "correct": true}, {"label": "D", "text": "68%", "correct": false}], "correct_answer": "C. 83%", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Serology positive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Serology negative</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>\"X\" positive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>600</p>\n<p>(a-true positive)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>120</p>\n<p>(b-false positive)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>\"X\" negative</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50</p>\n<p>(c-false negative)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>230</p>\n<p>(d-true negative)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/FWF3n5SFjcUSeVDKi49l1745323621.mp3", "video": ""}, {"text": "A new imaging test has been introduced to diagnose breast cancer in a sample of 1500 people. Among those 600 people who have biopsy-confirmed breast carcinoma, 480 were found to be positive. 60 were also found positive among the remaining 900 biopsy-negative people. What is the sensitivity and specificity of this new test, respectively?", "options": [{"label": "A", "text": "72%; 90%", "correct": false}, {"label": "B", "text": "88%; 79%", "correct": false}, {"label": "C", "text": "94%; 89%", "correct": false}, {"label": "D", "text": "80%; 93%", "correct": true}], "correct_answer": "D. 80%; 93%", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Biopsy positive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Biopsy negative</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>BRight positive</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>480</p>\n<p>(a- true positive)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>60</p>\n<p>(b- false positive)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>BRight negative</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>120</p>\n<p>(c- false negative)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>840</p>\n<p>(d- true negative)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tBtcFHAOx5aSTvcbVfzs1747427142.mp3", "video": ""}, {"text": "Which of the following is incorrect regarding Cronbach's alpha?", "options": [{"label": "A", "text": "Cronbach's alpha is a measure of internal consistency reliability.", "correct": false}, {"label": "B", "text": "It ranges from 0 to 1, with higher values indicating greater reliability.", "correct": false}, {"label": "C", "text": "Cronbach's alpha can be used to assess the validity of a measurement instrument.", "correct": true}, {"label": "D", "text": "Cronbach's alpha assumes that all items in the scale measure the same underlying construct.", "correct": false}], "correct_answer": "C. Cronbach's alpha can be used to assess the validity of a measurement instrument.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/4zng1yBL8fZANgvNSBCY1733724959.mp3", "video": ""}, {"text": "Sensitivity/(1-specificity) is the formula to find which among the following?", "options": [{"label": "A", "text": "Positive likelihood ratio", "correct": true}, {"label": "B", "text": "Negative likelihood ratio", "correct": false}, {"label": "C", "text": "Positive predictive value", "correct": false}, {"label": "D", "text": "Negative predictive value", "correct": false}], "correct_answer": "A. Positive likelihood ratio", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Positive likelihood ratio</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Negative likelihood ratio</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>It represents how much more likely a positive test result is in individuals with the disease than those without it.</li>\n<li>LR+ > 1 indicates a positive test result is more likely in those with the disease.</li>\n<li>Higher LR+ values (>10) indicate strong evidence of disease.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Indicates how much less likely a negative test result is in individuals with the disease compared to those without the disease.</li>\n<li>LR- < 1 indicates a negative test result is less likely in those with the disease.</li>\n<li>Lower LR- values (<0.1) suggest strong evidence for excluding the disease.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/RZhSN7rkvfUzjcSpjQpB1733724788.mp3", "video": ""}, {"text": "What purpose is Kaplan-Meier analysis used primarily for?", "options": [{"label": "A", "text": "Assessing the impact of economic factors on survival rates.", "correct": false}, {"label": "B", "text": "Estimating the probability of survival over time.", "correct": true}, {"label": "C", "text": "Analysing the correlation between lifestyle choices and health outcomes.", "correct": false}, {"label": "D", "text": "Predicting future trends in population demographics.", "correct": false}], "correct_answer": "B. Estimating the probability of survival over time.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/QkYkgBW3N2V3UNVzBGOa1731587081.mp3", "video": ""}, {"text": "Given below are a few statements regarding the receiver operating curve. Which among the following is a false statement?", "options": [{"label": "A", "text": "The best investigation is the one whose curve is most upward and left", "correct": false}, {"label": "B", "text": "The test with the minimum surface area under the cure is the most effective", "correct": true}, {"label": "C", "text": "Can be used for comparing two or more diagnostic tests", "correct": false}, {"label": "D", "text": "Can be used for deciding optimal cut-off points", "correct": false}], "correct_answer": "B. The test with the minimum surface area under the cure is the most effective", "question_images": ["https://image.prepladder.com/content/9CtPqNp085bxhzvvtygp1734431357.png"], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vwXrwNIpb8R2IzsCwBEV1731587206.mp3", "video": ""}, {"text": "Below is a graph showing the results of a screening test. If the cut-off point is reduced from point B to A, what will be its effect on this screening test?", "options": [{"label": "A", "text": "No effect at all", "correct": false}, {"label": "B", "text": "Sensitivity increases", "correct": true}, {"label": "C", "text": "Sensitivity decreases", "correct": false}, {"label": "D", "text": "Specificity increases", "correct": false}], "correct_answer": "B. Sensitivity increases", "question_images": ["https://image.prepladder.com/content/1iQuL0R4h1LX8C4zDNt01747783302.png"], "explanation_images": ["https://image.prepladder.com/content/nV9BfdexNE4nEPWwbS5s1734527696.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rLJQBpkE5nn3M9UXUXhs1731586869.mp3", "video": ""}, {"text": "Screening of syphilis RPR test is done first. All those positive on RPR are submitted to FTA-ABS. Multiple tests were done in parallel. What will be seen ?", "options": [{"label": "A", "text": "Sensitivity increases, specificity decreases.", "correct": true}, {"label": "B", "text": "Sensitivity decreases, specificity increases.", "correct": false}, {"label": "C", "text": "PPV increases, NPV decreases.", "correct": false}, {"label": "D", "text": "PPV decreases, NPV increases.", "correct": false}], "correct_answer": "A. Sensitivity increases, specificity decreases.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tests done in series</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tests done in parallel</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>A population is subjected to one screening test followed by a second one.</li>\n<li>The second test is done only if the first test is positive.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Multiple tests are done concurrently.</li>\n<li>A person is considered positive for disease if any tests give a positive result.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:570px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tests in series</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tests in parallel</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Sensitivity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Increases</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Specificity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Increases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreases</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>PPV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Increases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreases</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>NPV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Decreases</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Increases</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>PPV: Positive predictive value, NPV: Negative predictive value.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wyHMURoWijvSz5fGziNY1731586687.mp3", "video": ""}, {"text": "A 40-year-old healthy man visits his family physician for a routine check-up. His physician recommends a series of tests to identify potential diseases that might be present without causing symptoms. This proactive approach is an example of which of the following?", "options": [{"label": "A", "text": "Diagnosis", "correct": false}, {"label": "B", "text": "Surveillance", "correct": false}, {"label": "C", "text": "Screening", "correct": true}, {"label": "D", "text": "Lead time", "correct": false}], "correct_answer": "C. Screening", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/dxFGwryUy8PI3UQ1DcCJ1731583644.mp3", "video": ""}, {"text": "The diagnostic power of a test to correctly exclude the disease is reflected by?", "options": [{"label": "A", "text": "Sensitivity", "correct": false}, {"label": "B", "text": "Specificity", "correct": false}, {"label": "C", "text": "Positive Predictive Value", "correct": false}, {"label": "D", "text": "Negative Predictive Value", "correct": true}], "correct_answer": "D. Negative Predictive Value", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/jMqnhq07zSmh5WQ4oUo21731585301.mp3", "video": ""}, {"text": "Specificity is a property of a screening test .Specificity of a test means all except?", "options": [{"label": "A", "text": "Refers to the ability of a test to identify those without a condition as negative.", "correct": false}, {"label": "B", "text": "It is calculated as the ratio of true negatives to the sum of true negatives and false positives.", "correct": false}, {"label": "C", "text": "A highly specific test will rarely produce false positives.", "correct": false}, {"label": "D", "text": "It is related to the condition's prevalence in the population being tested.", "correct": true}], "correct_answer": "D. It is related to the condition's prevalence in the population being tested.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Pb5YRKodYc2YSVizF8Ag1748207960.mp3", "video": ""}, {"text": "Sensitivity is the ability of a test to detect?", "options": [{"label": "A", "text": "Individuals who do not have the disease", "correct": false}, {"label": "B", "text": "Individuals who have the disease", "correct": true}, {"label": "C", "text": "Individuals who have the disease but test negative", "correct": false}, {"label": "D", "text": "Individuals who do not have the disease but test positive", "correct": false}], "correct_answer": "B. Individuals who have the disease", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/A2cXfoqyQLNSqdHGao8z1734073162.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/sBrqGrh9nl2QQ2lKb9aq1731585129.mp3", "video": ""}, {"text": "Which of the following is not a test used for assessing accuracy?", "options": [{"label": "A", "text": "Mean Chart", "correct": false}, {"label": "B", "text": "Levey-Jennings (LJ) Chart", "correct": false}, {"label": "C", "text": "Shewhart Control Chart", "correct": false}, {"label": "D", "text": "Scatter Plot", "correct": true}], "correct_answer": "D. Scatter Plot", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3hheK6aWmQKucVvKuFXO1731584934.mp3", "video": ""}, {"text": "A 45-year-old male patient presents to the emergency department with chest pain. An ECG is performed. Doctor 1 reviews the ECG and reports it as normal. However, Doctor 2 reviewed the same ECG and reported that it was abnormal. What is the most likely explanation for the differing interpretations of the patient's ECG by Doctor 1 and Doctor 2?", "options": [{"label": "A", "text": "Intraobserver variation", "correct": false}, {"label": "B", "text": "Biological variation", "correct": false}, {"label": "C", "text": "Error related to technology", "correct": false}, {"label": "D", "text": "Interobserver variation", "correct": true}], "correct_answer": "D. Interobserver variation", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:748px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Observer Variability</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Biological Variation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Errors Related to Technology</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Interobserver Variation:</strong></p>\n<ul>\n<li>Differences between different observers.</li>\n<li>Example: Two doctors interpret the same <span class=\"customMeta\" data-dictid=\"40ebcbf95e169277718613d7c2d999\">ECG</span> differently, which leads to different diagnoses.</li>\n</ul>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Natural changes in a patient's <span class=\"customMeta\" data-dictid=\"6c2c85ae6b16927771950809419a59\">physiological</span> parameters over time.</li>\n<li>For example, <span class=\"customMeta\" data-dictid=\"263ee5444e1692777183a7e8e704da\">blood pressure</span> fluctuates daily, and cholesterol levels vary with diet.</li>\n</ul>\n</td>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Inaccuracies in measurement are due to malfunctioning equipment.</li>\n<li>For example, a faulty <span class=\"customMeta\" data-dictid=\"ddda61658016927772000045e45a57\">thermometer</span> gives inconsistent temperatures.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Intraobserver Variation:</strong></p>\n<ul>\n<li>Differences in interpretation by the same observer at different times.</li>\n<li>Example: The same doctor interprets an <span class=\"customMeta\" data-dictid=\"40ebcbf95e169277718613d7c2d999\">ECG</span> differently when reviewed at different times.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ocYeG7KkfFTb6yX5KMeK1731584801.mp3", "video": ""}, {"text": "During the COVID-19 pandemic, airports implemented temperature checks and rapid antigen tests for passengers. This is an example of what type of screening?", "options": [{"label": "A", "text": "Prospective Screening", "correct": true}, {"label": "B", "text": "Prescriptive Screening", "correct": false}, {"label": "C", "text": "Predictive Screening", "correct": false}, {"label": "D", "text": "Mass Screening", "correct": false}], "correct_answer": "A. Prospective Screening", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:NaN\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prescriptive Screening (Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Prospective Screening (Option A)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Done for one's own benefit.</li>\n<li><strong>Secondary</strong> level of prevention.</li>\n<li>Early diagnosis.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Done for other's benefit.</li>\n<li>The <strong>primary</strong> level of prevention.</li>\n<li>Control/ prevention of disease.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>E.g.</p>\n<ul>\n<li>Screening neonates for <span class=\"customMeta\" data-dictid=\"77493a5b781692777193df12530299\">neonatal</span> hypothyroidism</li>\n<li>Deafness in children</li>\n<li>Blood <span class=\"customMeta\" data-dictid=\"af3ae60c0c16927771889b84ca41c0\">glucose</span> testing for <span class=\"customMeta\" data-dictid=\"b6a934c67b16927771868fca92baf9\">diabetes mellitus</span> and gestational diabetes</li>\n<li>Mammography for breast cancer</li>\n<li>Pap <span class=\"customMeta\" data-dictid=\"6777533153169277719804fcbbf2d1\">smear</span> for <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> cancer</li>\n<li>Visual <span class=\"customMeta\" data-dictid=\"80d33aa6081692777180a22947db2c\">acuity</span> for <span class=\"customMeta\" data-dictid=\"cae831e44316927771973fa5e13fd7\">refractive</span> errors.</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>E.g.</p>\n<ul>\n<li>Screening of immigrants for diseases like TB and COVID</li>\n<li>HIV screening for blood donation</li>\n<li>HIV screening in ANC cases</li>\n<li>Health checkups for workers in the food industry.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Oz669mUS6p880klmPVkG1731584650.mp3", "video": ""}, {"text": "A health camp was organized to conduct cervical cancer screening in pregnant females. Which of the following best explains this type of screening test?", "options": [{"label": "A", "text": "High-risk Screening", "correct": false}, {"label": "B", "text": "Multiphasic Screening", "correct": true}, {"label": "C", "text": "Mass Screening", "correct": false}, {"label": "D", "text": "Multipurpose Screening", "correct": false}], "correct_answer": "B. Multiphasic Screening", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:692px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1. <span class=\"customMeta\" data-dictid=\"fa9dd42ba01692777192a925320fac\">Mass Screening</span> <strong>(OPTION C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>All individuals screened irrespective of high risk.</li>\n<li>Least efficient type of screening.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2. High-risk screening/ selective screening/ targeted screening</p>\n<p><strong>(OPTION A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Only high-risk individuals are screened.</li>\n<li>Most efficient <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> of screening.</li>\n<li>E.g.:\n\t\t\t\t<ul>\n<li>Hypertension screening in the elderly.</li>\n<li>TB screening in lower socio-economic population.</li>\n<li>Breast cancer screening with a family history of breast cancer.</li>\n</ul>\n</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>3. Multiphasic screening</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Application of 2 or more screening tests in combination to a large number of people at one time to detect a single disease.</li>\n<li>E.g., Health camps for <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> cancer: Questionnaire, <strong>Pap smear</strong>, Visual inspection.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4. Multipurpose screening <strong>(OPTION D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Screen the population with more than one test done simultaneously to detect more than one disease</li>\n<li>Screening blood tests of pregnant females (Hb, RA, HIV, VDRL, HbsAg)</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>5. <span class=\"customMeta\" data-dictid=\"5204097a961692777194904909b6fe\">Opportunistic</span> screening or Case-finding</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Screening conducted during routine healthcare visits for other reasons</li>\n<li>Presumptive identification was not raised at the patient's request</li>\n<li>E.g., Screen everyone above 30 for hypertension</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/3Q3MNG2prq4Ey9dl493B1731584414.mp3", "video": ""}, {"text": "Which of the following statements about diseases suitable for screening is true? The disease should have a significant impact on public health. Early detection and treatment should reduce morbidity. The disease should have a short latent period. A reliable, invasive, and cost-effective screening test should be available. The disease should have a high prevalence in the population.", "options": [{"label": "A", "text": "2, 4 and 5", "correct": false}, {"label": "B", "text": "1, 2, and 5", "correct": true}, {"label": "C", "text": "2, 3 and 5", "correct": false}, {"label": "D", "text": "2, 3 and 4", "correct": false}], "correct_answer": "B. 1, 2, and 5", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/cLonE4sjWg2C1EZjAhvc1731584160.mp3", "video": ""}, {"text": "Which of the following appropriately represents lead time in the given figure", "options": [{"label": "A", "text": "C", "correct": false}, {"label": "B", "text": "B to Y", "correct": true}, {"label": "C", "text": "B to X", "correct": false}, {"label": "D", "text": "X to Y", "correct": false}], "correct_answer": "B. B to Y", "question_images": ["https://image.prepladder.com/content/UCyDuV2oubt6ymt7LGhy1734149946.png"], "explanation_images": ["https://image.prepladder.com/content/tW6Ts7bbBPqOekUabs1O1734073001.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/9I3VKHg0GidqWPRz0bv31731583976.mp3", "video": ""}, {"text": "All of the following are features of a screening test except?", "options": [{"label": "A", "text": "Aimed at early detection of disease in asymptomatic individuals.", "correct": false}, {"label": "B", "text": "High specificity is more important than high sensitivity.", "correct": true}, {"label": "C", "text": "Often less accurate and applied to a large population.", "correct": false}, {"label": "D", "text": "Typically involves simple, cost-effective and non-invasive procedures.", "correct": false}], "correct_answer": "B. High specificity is more important than high sensitivity.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:730px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Screening test</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Diagnostic test</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Done on apparently healthy people <strong>(Statement A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Done on those who are sick</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Applied to groups/ large populations <strong>(Statement C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Applied on individuals</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Test results are arbitrary and final.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Diagnosis is not final but modified in the light of new evidence/ sum of evidence.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Based on one <span class=\"customMeta\" data-dictid=\"9167b944ea169277718582367e0915\">criterion</span> or cut-off value and lab findings.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Based on the evaluation of signs and symptoms.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less accurate</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>More accurate</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tests are simple, non-invasive and cost-effective <strong>(Statement D).</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tests are complex, invasive, or costly procedures.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It cannot be used as a basis for treatment.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It can be used as a basis for treatment.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The initiative <span class=\"customMeta\" data-dictid=\"89f5610ffd1692777184b03f1f88cc\">comes</span> from govt organizations/NGOs.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The initiative <span class=\"customMeta\" data-dictid=\"89f5610ffd1692777184b03f1f88cc\">comes</span> from the patient.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>High sensitivity </strong>is prioritized to avoid false negatives.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>High specificity</strong> is prioritized to avoid false positives.<strong>(Statement B)</strong></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BeMXXz3atCMYvOU25D6f1731583807.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 33 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which is not the component of PQLI?", "options": [{"label": "A", "text": "Life expectancy at 1 year", "correct": false}, {"label": "B", "text": "Literacy rate", "correct": false}, {"label": "C", "text": "Infant mortality rate", "correct": false}, {"label": "D", "text": "Gross national product", "correct": true}], "correct_answer": "D. Gross national product", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/yjlyohal8Ik9ybnqo4IZ1724851339.png"], "explanation": "<p>Correct Option D - Gross national produ\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Identify the correct sequence regarding the family cycle?", "options": [{"label": "A", "text": "Formation, extension, complete extension, contraction, complete contraction, dissolution, extinction", "correct": true}, {"label": "B", "text": "Formation, extension, complete extension, complete contraction, contraction, dissolution, extinction", "correct": false}, {"label": "C", "text": "Extension, Formation, complete extension, contraction, complete contraction, dissolution, extinction", "correct": false}, {"label": "D", "text": "Formation, extension, complete extension, contraction, complete contraction, extinction, dissolution", "correct": false}], "correct_answer": "A. Formation, extension, complete extension, contraction, complete contraction, dissolution, extinction", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Formation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p>Marriage to the birth of the 1<sup>st</sup> child.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Extension</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Birth of the 1<sup>st</sup> child to birth of the last child.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Complete extension</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Birth of the last child to 1<sup>st</sup> child leaving home.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Contraction</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The child leaving home to the last child leaving home.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Complete contraction</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>The last child leaving home to the 1<sup>st</sup> spouse dying.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Dissolution</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Death of the 1<sup>st</sup> spouse to the death of the survivor.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which barrier is the doctor addressing when a male patient expresses concern about potential impotency from the recommended vaccine during a vaccination drive?", "options": [{"label": "A", "text": "Physical barrier", "correct": false}, {"label": "B", "text": "Environmental barrier", "correct": false}, {"label": "C", "text": "Physiological barrier", "correct": false}, {"label": "D", "text": "Cultural barrier", "correct": true}], "correct_answer": "D. Cultural barrier", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What kind of family would the surveyor categorize the household as, considering it consists of a 35-year-old man, his 6-week pregnant wife, a 3-year old child, and the temporary presence of the man's brother and his wife during their winter vacation?", "options": [{"label": "A", "text": "Joint family", "correct": false}, {"label": "B", "text": "Nuclear family", "correct": true}, {"label": "C", "text": "Extended family", "correct": false}, {"label": "D", "text": "Third generation family", "correct": false}], "correct_answer": "B. Nuclear family", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In which of the following situations is confidentiality upheld?", "options": [{"label": "A", "text": "Group discussion", "correct": false}, {"label": "B", "text": "Counselling", "correct": true}, {"label": "C", "text": "Panel discussion", "correct": false}, {"label": "D", "text": "Seminar", "correct": false}], "correct_answer": "B. Counselling", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A couple brought their son to doctor. They were worried because their son likes to eat foods from multinational companies. What will we call this shift from consumption of traditional natural food to western fast foods?", "options": [{"label": "A", "text": "Food transition", "correct": false}, {"label": "B", "text": "Social pathology", "correct": false}, {"label": "C", "text": "Acculturation", "correct": true}, {"label": "D", "text": "Demographic change", "correct": false}], "correct_answer": "C. Acculturation", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer C - Acculturation</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Term</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Definition/Explanation</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Social structure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Patterns of inter-relationships between persons in a society</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Socialism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Economic doctrine that favours the use of property and resources of the country for public welfare; system of production and distribution based on social ownership</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Socialization</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Process by which an individual gradually acquires culture and becomes a member of a social group</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Medical sociology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Includes studies of medical profession, relationship of medicine to public, social factors in disease prevalence, incidence, and interpretation</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Society</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>A group of individuals who have organized themselves and follow a way of life, featuring a system of relationships between individuals</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Community</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>A social group determined by geographical boundaries and/or common values or interests</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Sociology</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Study of individuals as well as groups in society, <span class=\"customMeta\" data-dictid=\"fefa53d9f216927772037e31a651d7\">focusing</span> on relationships and behavior</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Culture</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Learned behavior socially acquired</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Acculturation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Cultural contact or mixing of two cultures through trade, industrialization, religion propagation, education, and conquest</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Custom</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<ul>\n<li>Established patterns of behavior objectively verified within a particular social setting</li>\n<li><strong>Folkways: </strong>Right ways of doing things in less vital areas of human conduct</li>\n<li><strong>Mores: </strong>More stringent customs within society</li>\n</ul>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Standard of Living</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Refers to usual scale of expenditure, goods consumed, and services enjoyed, including income, occupation, housing, sanitation, nutrition, health, education, recreational services</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\"><strong>Social Pathology</strong></p>\n<p style=\"text-align: center;\"><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p>Study of social problems that undermine the social, psychological, or economic health of populations; describes the relationship between disease and social conditions</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A couple has given birth to their first child. Based on the nuclear family cycle, which phase is the family entering into?", "options": [{"label": "A", "text": "Extension", "correct": true}, {"label": "B", "text": "Complete extension", "correct": false}, {"label": "C", "text": "Contraction", "correct": false}, {"label": "D", "text": "Completed contraction", "correct": false}], "correct_answer": "A. Extension", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Extension</p>\n<table cellspacing=\"0\" style=\"border-collapse:collapse\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>No.</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Phases of Family Life Cycle</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Beginning of Phase</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>End of Phase</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">I</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Formation</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Marriage</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Birth of 1st child</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">II</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Extension</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Birth of 1st child</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Birth of last child</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">III</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Complete Extension <strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Birth of last child</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">1st child leaves home</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">IV</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Contraction <strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">1st child leaves home</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Last child leaves home of parents</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">V</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Completed Contraction <strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Last child leaves home of parents</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">1st spouse dies</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">VI</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Dissolution</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">1st spouse dies</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none\">\n<p style=\"text-align: center;\">Death of survivor (extinction)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is responsible for maintaining the births and deaths in India?", "options": [{"label": "A", "text": "Vital registration system", "correct": true}, {"label": "B", "text": "Census", "correct": false}, {"label": "C", "text": "Death certificate", "correct": false}, {"label": "D", "text": "Lay reporting", "correct": false}], "correct_answer": "A. Vital registration system", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Vital <span class=\"customMeta\" data-dictid=\"ecc2886bef169277719705c1e5adf2\">registration</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "All are components of Kuppuswamy scale", "options": [{"label": "A", "text": "Income, Housing, Education", "correct": false}, {"label": "B", "text": "Income, Livestock, Housing", "correct": false}, {"label": "C", "text": "Housing, Livestock, Land", "correct": false}, {"label": "D", "text": "Income, Occupation, Education", "correct": true}], "correct_answer": "D. Income, Occupation, Education", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Completed family size depends on", "options": [{"label": "A", "text": "Number of adolescents", "correct": false}, {"label": "B", "text": "Number of women", "correct": false}, {"label": "C", "text": "Number of children", "correct": true}, {"label": "D", "text": "Number of persons", "correct": false}], "correct_answer": "C. Number of children", "question_images": [], "explanation_images": [], "explanation": "\n<p><strong>References:</strong></p>\n<ul><li>↳ Cultural and Social Norms</li><li>↳ Economic Considerations</li><li>↳ Access to Reproductive Health Services</li><li>↳ Individual Preferences</li><li>↳ .</li></u\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "SPIKES protocol is for:", "options": [{"label": "A", "text": "Triage", "correct": false}, {"label": "B", "text": "Consent for study participation", "correct": false}, {"label": "C", "text": "Hospital infection control", "correct": false}, {"label": "D", "text": "Breaking bad news", "correct": true}], "correct_answer": "D. Breaking bad news", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td style=\"text-align:center\"><strong>S</strong></td>\n<td>Set up an interview</td>\n</tr>\n<tr>\n<td style=\"text-align:center\"><strong>P</strong></td>\n<td>Assess Perceptions</td>\n</tr>\n<tr>\n<td style=\"text-align:center\"><strong>I</strong></td>\n<td>Invite to explain</td>\n</tr>\n<tr>\n<td style=\"text-align:center\"><strong>K</strong></td>\n<td>Share your knowledge</td>\n</tr>\n<tr>\n<td style=\"text-align:center\"><strong>E</strong></td>\n<td>Address their Emotion</td>\n</tr>\n<tr>\n<td style=\"text-align:center\"><strong>S</strong></td>\n<td>Strategize</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 21 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is a permanent social group?", "options": [{"label": "A", "text": "Herd", "correct": false}, {"label": "B", "text": "Mob", "correct": false}, {"label": "C", "text": "Band", "correct": true}, {"label": "D", "text": "Crowd", "correct": false}], "correct_answer": "C. Band", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/Jjl8zqLFVYeOpTK4lTgA1734074850.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vInCjduiVh7lpe32KWFg1737980589.mp3", "video": ""}, {"text": "“The risk of contracting a disease increases if profit is valued more than health”. This statement represents which of the following theories in sociology?", "options": [{"label": "A", "text": "Feminist theory", "correct": false}, {"label": "B", "text": "Parsonian theory", "correct": false}, {"label": "C", "text": "Foucauldian theory", "correct": false}, {"label": "D", "text": "Marxist theory", "correct": true}], "correct_answer": "D. Marxist theory", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:694px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Marxist theory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\">Putting profit as a priority instead of health</li>\n<li style=\"text-align: center;\">Eg: Alcohol and tobacco consumption is not completely banned as it leads to loss of revenue</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Parsonian theory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\">Social factors like poverty, migration and industrialisation playing a role in disease etiology</li>\n<li style=\"text-align: center;\">Eg, TB due to overcrowding from poverty</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Feminist theory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\">Females are enforced by <span class=\"customMeta\" data-dictid=\"e48bb8abfa1692777192e3fa06774f\">men</span> to do particular roles</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Foucauldian theory</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\">By segregating the population into groups, they can be controlled easily</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Mckeown’s theory of TB</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li style=\"text-align: center;\">Changes in socio-environmental conditions lead to a reduction in TB</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CbV4lj3H1XiHsER6Lfkb1737980685.mp3", "video": ""}, {"text": "A couple with three children lives in a small town. The first child of the couple travels abroad for his studies. The above family is in which phase of the family cycle?", "options": [{"label": "A", "text": "Extension", "correct": false}, {"label": "B", "text": "Complete extension", "correct": false}, {"label": "C", "text": "Contraction", "correct": true}, {"label": "D", "text": "Dissolution", "correct": false}], "correct_answer": "C. Contraction", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:699px\">\n<tbody>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>Phases of Family Cycle</strong></p>\n</td>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>Events taking place</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>Beginning of phase</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>End of phase</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>1. Formation</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Marriage</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Birth of 1st child</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>2. Extension </strong>(Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Birth of 1st child</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Birth of last child</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>3. Complete extension</strong><strong> </strong>(Option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Birth of last child</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">1st child leaves home</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>4. Contraction</strong> (Option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">1st child leaves home</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Last child leaves home</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>5. Completed contraction</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Last child leaves home</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">1st spouse dies</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\"><strong>6. <span class=\"customMeta\" data-dictid=\"1924dd4c6e169277718654d32a636f\">Dissolution</span> </strong>(Option D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">1st spouse dies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align:center\">Death of the survivor (extinction)</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/2kq0HgPDnoK0BPhYQA3F1741894088.mp3", "video": ""}, {"text": "Which of the following best describes a joint family?", "options": [{"label": "A", "text": "A Family with husband, wife and biological/adopted children.", "correct": false}, {"label": "B", "text": "A family with Grandparents, parents and children.", "correct": false}, {"label": "C", "text": "A family with Grandparents, parents and children living along with uncle, aunt and their families.", "correct": true}, {"label": "D", "text": "A family with both parents are not together.", "correct": false}], "correct_answer": "C. A family with Grandparents, parents and children living along with uncle, aunt and their families.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:659px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Type of family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>People in the family</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Nuclear family </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Father, mother and children (Option A)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>New family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">A family <10 years old</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Joint family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Grandparents, parents, children along with uncle, aunt and their family (Option C)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Three generation family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Grandparents, parents, children (Option B)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Broken family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Either of the parents has died, or the couple is divorced/separated (Option D)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Problem family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">Family lagging behind the rest of the community</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Communal family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">A group of families or single people who live and work together sharing possessions and responsibilities</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\"><strong>Dysfunctional family</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align:center\">A family where abuse/conflict is common for individuals, and the rest of the family is okay with it.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/0ycxTMHJclKy9hWYNMvZ1737980877.mp3", "video": ""}, {"text": "Match the following Socio-Economic Status (SES) scales with their respective contexts: Column A Column B A. Modified Kuppuswamy scale 1. Non-Indian SES scale B. Udai Pareek scale 2. Urban SES scale C. Bhardwaj scale 3. Rural SES scale D. Hollingshead scale 4. Student’s scale", "options": [{"label": "A", "text": "A-2, B-3, C-4, D-1", "correct": true}, {"label": "B", "text": "A-1, B-2, C-3, D-4", "correct": false}, {"label": "C", "text": "A-4, B-1, C-2, D-3", "correct": false}, {"label": "D", "text": "A-2, B-4, C-3, D-1", "correct": false}], "correct_answer": "A. A-2, B-3, C-4, D-1", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ve7DVGnZm7LHeeuum5021737980982.mp3", "video": ""}, {"text": "Mr. Sharma's family consists of four members. Mr. Sharma is a graduate working as a manager in a private company, earning a monthly income of INR 50,000. Mrs. Sharma is a high school graduate and a homemaker, and their two children are school students. Based on the Modified Kuppuswamy Scale, what is the socio-economic status of Mr. Sharma's family?", "options": [{"label": "A", "text": "Upper Class", "correct": true}, {"label": "B", "text": "Upper Middle Class", "correct": false}, {"label": "C", "text": "Lower Middle Class", "correct": false}, {"label": "D", "text": "Upper Lower Class", "correct": false}], "correct_answer": "A. Upper Class", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:628px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Purpose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">To assess the socio-economic status (SES) of urban families in India.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Components</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">1. Education of the head of the family.</p>\n<p style=\"text-align: center;\">2. Occupation of the head of the family.</p>\n<p style=\"text-align: center;\">3. Monthly family income.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Education Score</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">Illiterate: 1</p>\n<p style=\"text-align: center;\">Primary school: 2</p>\n<p style=\"text-align: center;\">Middle school: 3</p>\n<p style=\"text-align: center;\">High school: 4</p>\n<p style=\"text-align: center;\">Intermediate/Post high school diploma: 5 Graduate/Postgraduate: 6</p>\n<p style=\"text-align: center;\">Profession or Honors: 7</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Occupation Score</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">Unemployed: 1</p>\n<p style=\"text-align: center;\">Unskilled worker: 2</p>\n<p style=\"text-align: center;\">Semi-skilled worker: 3</p>\n<p style=\"text-align: center;\">Skilled worker: 4</p>\n<p style=\"text-align: center;\">Clerical, Shop-owner, Farmer: 5</p>\n<p style=\"text-align: center;\">Semi-professional: 6</p>\n<p style=\"text-align: center;\">Professional: 10</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Income Score </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">The family income per month in Rs.</p>\n<p style=\"text-align: center;\">The income scale has been recalculated using India's average consumer price index for Industrial workers for the year 2021.</p>\n<p style=\"text-align: center;\"> </p>\n<p style=\"text-align: center;\"><100: 1</p>\n<p style=\"text-align: center;\">101-299: 2</p>\n<p style=\"text-align: center;\">300-499: 3</p>\n<p style=\"text-align: center;\">500-749: 4</p>\n<p style=\"text-align: center;\">750-999: 6</p>\n<p style=\"text-align: center;\">1000-1999: 10</p>\n<p style=\"text-align: center;\">=2000: 12</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>SES Classification</strong></p>\n<p style=\"text-align: center;\">(Option B, C and D)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p style=\"text-align: center;\">Upper Class: 26-29</p>\n<p style=\"text-align: center;\">Upper Middle Class: 16-25</p>\n<p style=\"text-align: center;\">Lower Middle Class: 11-15</p>\n<p style=\"text-align: center;\">Upper Lower Class: 5-10</p>\n<p style=\"text-align: center;\">Lower Class: <5</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/pk5d2HgPT8MHd4tdkbS01741894425.mp3", "video": ""}, {"text": "Which of the following statements regarding the Udai Pareek Scale and the BG Prasad Scale is true?", "options": [{"label": "A", "text": "The Udai Pareek Scale is based on per capita income.", "correct": false}, {"label": "B", "text": "The BG Prasad Scale includes parameters like caste and land.", "correct": false}, {"label": "C", "text": "The Udai Pareek Scale is used in rural areas.", "correct": true}, {"label": "D", "text": "The BG Prasad Scale is used in urban areas.", "correct": false}], "correct_answer": "C. The Udai Pareek Scale is used in rural areas.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"width:650px\">\n<tbody>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>Parameters</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>Udai Pareek Scale</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>BG Prasad Scale</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>Purpose</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\">Use in rural areas</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\">Applicable to both rural and urban areas</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>Components</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\">Independent of income</p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\">Based on per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> income</p>\n<p style=\"text-align:center\">Per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> income = Total family income/ Number of family members</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-color:#000000; border-style:solid\">\n<p style=\"text-align:center\"><strong>Other Parameters</strong></p>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<ul>\n<li>Caste</li>\n<li>Occupation</li>\n<li>Education</li>\n<li>Land</li>\n<li>Social participation</li>\n<li>House</li>\n<li>Farm power</li>\n<li>Material possessions</li>\n<li>Family members</li>\n</ul>\n</td>\n<td style=\"border-color:#000000; border-style:solid\">\n<ul>\n<li>Divides into upper, middle, and lower classes. </li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Myh3J8pEECZSoUtJt3Bl1747426031.mp3", "video": ""}, {"text": "A family living in rural India. They struggle to make ends meet, and their diet consists mainly of rice and lentils. They lack access to proper sanitation and healthcare. The family's income is inconsistent and often falls short of covering their basic needs. Based on the scenario, this family would most likely be classified as:", "options": [{"label": "A", "text": "Above Poverty Line", "correct": false}, {"label": "B", "text": "Below Poverty Line", "correct": true}, {"label": "C", "text": "Upper Middle Class", "correct": false}, {"label": "D", "text": "Middle Class", "correct": false}], "correct_answer": "B. Below Poverty Line", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:728px\">\n<tbody>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>According to Tendulkar committee</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rural areas </strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Urban areas</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> <span class=\"customMeta\" data-dictid=\"5f526a682c16927771831cac5b3711\">calorie</span> intake</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><2400 <span class=\"customMeta\" data-dictid=\"bf7703756016927771905a4e6a2823\">kcal</span> per day</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><2100 <span class=\"customMeta\" data-dictid=\"bf7703756016927771905a4e6a2823\">kcal</span> per day</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> Income</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><27/- INR per day</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><33/- INR per day</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>According to Rangarajan committee</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> income is <32/- INR per day in the rural area.</li>\n<li><47/- INR per day in the urban area.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>As per World Bank</strong></p>\n</td>\n<td colspan=\"3\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>If the per <span class=\"customMeta\" data-dictid=\"ea701c975f169277718359559b503c\">capita</span> income is <2.15 US $ per day, this is an extreme poverty level.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/DZItmBWVQEhEX1LpvXTN1741894589.mp3", "video": ""}, {"text": "A doctor finds that many patients don't follow his advice regarding medication and lifestyle changes, even when he explains the scientific basis clearly and patiently. What communication factor should this doctor prioritise to improve his patient interactions in this context?", "options": [{"label": "A", "text": "Sharing humorous anecdotes to ease the patients' anxiety.", "correct": false}, {"label": "B", "text": "Understanding the local cultural beliefs and practices related to health and illness.", "correct": true}, {"label": "C", "text": "Using complex medical terminology to establish his authority and expertise.", "correct": false}, {"label": "D", "text": "Focusing solely on conveying information about the latest advancements in medical science.", "correct": false}], "correct_answer": "B. Understanding the local cultural beliefs and practices related to health and illness.", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:786px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Aspect</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Paternalistic Approach</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Mutualistic Approach</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Consumeristic Approach</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Defaulter Approach</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Doctor makes decisions for the patient</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Doctor and patient make decisions together</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Patient makes decisions with minimal input from the doctor</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Neither doctor <span class=\"customMeta\" data-dictid=\"fe5171bb0016927771933a5ca5d376\">nor</span> patient is actively involved in decision-making</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Advantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Efficient in emergencies, reduces patient anxiety</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Builds trust, encourages patient engagement</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Empowers patient, respects patient autonomy</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Minimal effort required</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Disadvantages</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Can lead to patient dissatisfaction, lack of patient autonomy</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Requires time and good communication skills</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">May result in poor medical decisions without a doctor's expertise</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Ineffective, poor health outcomes</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\"><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Emergency surgery, critical care</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Chronic disease management, mental health care</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Elective procedures, <span class=\"customMeta\" data-dictid=\"ff63f91a5e16927771858327cda029\">cosmetic</span> surgery</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:middle\">\n<p style=\"text-align: center;\">Neglect in <span class=\"customMeta\" data-dictid=\"e684325d851692777196af9e64013b\">preventive</span> care</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/CNMfmYZoWym0UpYeADkv1737981417.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 19 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following storage practices is appropriately matched with the corresponding cold chain level? Level Storage practice A. Subcenter Use walk-in cold rooms to store large quantities of vaccines. B. Primary Health Center Use small ice-lined refrigerators to store vaccines for up to one month. C. Community Health Center Store vaccines in vaccine carriers for daily use. D. State Level Use domestic refrigerators due to their large storage capacity.", "options": [{"label": "A", "text": "A", "correct": false}, {"label": "B", "text": "B", "correct": true}, {"label": "C", "text": "C", "correct": false}, {"label": "D", "text": "D", "correct": false}], "correct_answer": "B. B", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:763px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cold Chain Level</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Storage Equipment</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Capacity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Storage Duration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Temperature Range</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Subcenter/Village Level</strong></p>\n<p><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vaccine Carriers, Day Carriers</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>16-20 vials (vaccine carrier)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>24-48 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>+2°C to +8°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Ice Packs</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1-4 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>+2°C to +8°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primary Health Center (PHC)</strong><br/>\n<strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Small Ice-Lined Refrigerator (ILR)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Up to 140 liters</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Up to 1 month</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>+2°C to +8°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Small Deep Freezer (DF)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-15°C to -25°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Community Health Center (CHC)/ <span class=\"customMeta\" data-dictid=\"e5c2f7896c16927771998d7eb7f8f2\">Sub</span> District Hospital/ District Hospital</strong></p>\n<p><strong>(Option C)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Large Ice-Lined Refrigerator (ILR)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Up to 300 liters</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Up to 1 month</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>+2°C to +8°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Large Deep Freezer (DF)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-15°C to -25°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>State/National Level</strong></p>\n<p><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Walk-In Cold Rooms</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Large quantities</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Up to 3 months</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>+2°C to +8°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Walk-In Freezers</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Large quantities</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Long-term storage</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-15°C to -25°C</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Et4R3NMQmPdF2dyhvbIk1731319878.mp3", "video": ""}, {"text": "Which of the following is true regarding vaccine disposal?", "options": [{"label": "A", "text": "Empty plastic syringes should be categorized as white", "correct": false}, {"label": "B", "text": "Empty vaccine vials should be categorized as blue", "correct": true}, {"label": "C", "text": "Expired vaccines should be categorized as red", "correct": false}, {"label": "D", "text": "A hub cutter is used to dispose of vaccine vials", "correct": false}], "correct_answer": "B. Empty vaccine vials should be categorized as blue", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/19uRgTJsMnyHEBsXOQrF1725428869.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:581px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disinfection done by</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Plastic part of syringes</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Red (option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Autoclaving followed by shredding</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Expired Vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yellow (option C)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Returned to manufacturer for <span class=\"customMeta\" data-dictid=\"e24ec045521692777190e7d4387868\">incineration</span> at >1200°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Empty/damaged vials</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Blue (option B)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Detergent or sodium hypochlorite</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mbqAu7QaLln5e1zpPixX1731321278.mp3", "video": ""}, {"text": "Which of the following can maintain vaccine temperatures for the longest duration?", "options": [{"label": "A", "text": "Cold box", "correct": true}, {"label": "B", "text": "Vaccine carrier", "correct": false}, {"label": "C", "text": "Day carrier", "correct": false}, {"label": "D", "text": "Conditioned ice pack", "correct": false}], "correct_answer": "A. Cold box", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/w9AoLQmFuXsPeeBOAbJl1725428375.png", "https://image.prepladder.com/content/MAuJ48P5gSdGfZtwapBi1725428549.png", "https://image.prepladder.com/content/9Zm6EWSc1bBcr4ZO0TJ71725428647.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:740px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Cold box</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine carrier</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Day carrier</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Purpose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Supply vaccines to all <span class=\"customMeta\" data-dictid=\"255674f3271692777195c172d86daf\">peripheral</span> centres</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-Supply vaccines to outreach programs.</p>\n<p>- Used in subcenters.</p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-Supply vaccines to nearby sessions.</p>\n<p>- Used in subcenters.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Capacity</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>50-75 vaccine vials</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>16-20 vaccine vials</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>6-8 vaccine vials</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>No. of ice packs placed</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4-36</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>4</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Maintains temperature of vaccine for</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>48-96 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>24-48 hours</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>24-48 hours</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Images</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"200\" src=\"https://image.prepladder.com/content/w9AoLQmFuXsPeeBOAbJl1725428375.png\" width=\"200\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"207\" src=\"https://image.prepladder.com/content/MAuJ48P5gSdGfZtwapBi1725428549.png\" width=\"200\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"135\" src=\"https://image.prepladder.com/content/9Zm6EWSc1bBcr4ZO0TJ71725428647.png\" width=\"200\"/></p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/rtt24tQ23m0b35dmm82Z1731321079.mp3", "video": ""}, {"text": "Which of the following is not true regarding ice packs?", "options": [{"label": "A", "text": "Plain water is used to prepare ice packs.", "correct": false}, {"label": "B", "text": "The entire volume of the ice pack can be filled with water.", "correct": true}, {"label": "C", "text": "Vials of DPT/TT should not be placed directly with the ice pack.", "correct": false}, {"label": "D", "text": "OPV vials should be placed with ice packs.", "correct": false}], "correct_answer": "B. The entire volume of the ice pack can be filled with water.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/zDyvGULmVIjkHHkkTJIH1725428164.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/PnpAsJEf5rO5uVAc6CGt1731320906.mp3", "video": ""}, {"text": "Match the following types of thermometers with their correct example: Term Example i) Dial Thermometer a) Monitors the temperature of the Deep freezer ii) Hygro Thermometer b) Monitors the temperature of the ILR iii) Steam Alcohol Thermometer c) Used to determine air humidity", "options": [{"label": "A", "text": "i) - b, ii) - c, iii) - a.", "correct": true}, {"label": "B", "text": "i) - c, ii) - a, iii) - b.", "correct": false}, {"label": "C", "text": "i) - a, ii) - b, iii) - c.", "correct": false}, {"label": "D", "text": "i) - c, ii) - b, iii) - a.", "correct": false}], "correct_answer": "A. i) - b, ii) - c, iii) - a.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/gtCbJgXVTWWy6Hf5Obpz1725427779.png", "https://image.prepladder.com/content/mk5b8BtVDyqCaTz6TiGQ1725427884.png", "https://image.prepladder.com/content/eMqZFji9EKBensjmrIRW1725427966.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:625px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Dial Thermometer</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"200\" src=\"https://image.prepladder.com/content/gtCbJgXVTWWy6Hf5Obpz1725427779.png\" width=\"200\"/></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Tool to monitor the temperature inside Ice-Lined Refrigerators (ILRs).</li>\n<li>They are important for ensuring vaccines are stored within the safe temperature range of +2°C to +8°C.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hygro Thermometer</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"143\" src=\"https://image.prepladder.com/content/mk5b8BtVDyqCaTz6TiGQ1725427884.png\" width=\"200\"/></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Measures both temperature and humidity.</li>\n<li>Used in environments where both parameters are important, such as climate control and storage conditions.</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Steam Alcohol Thermometer</strong></p>\n<p><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"636\" src=\"https://image.prepladder.com/content/eMqZFji9EKBensjmrIRW1725427966.png\" width=\"200\"/></p>\n<p> </p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>These are used to monitor the temperature of Deep Freezers (DFs)</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/z4oIZbamJTjf5Jqvd8ys1731321497.mp3", "video": ""}, {"text": "The hospital management is deciding between procuring a large ILR (Ice-Lined Refrigerator) or a large deep freezer for vaccine storage due to frequent power outages in that area. Which of the following would be the most important factor to consider when making this decision?", "options": [{"label": "A", "text": "The difference in temperature ranges between the ILR and the deep freezer.", "correct": false}, {"label": "B", "text": "The equipment’s ability to maintain temperature during power outages.", "correct": true}, {"label": "C", "text": "The physical space available for installation of either piece of equipment.", "correct": false}, {"label": "D", "text": "The need to store ice packs for vaccine transportation.", "correct": false}], "correct_answer": "B. The equipment’s ability to maintain temperature during power outages.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/FXPH0931neo2siRe31iq1732725750.png", "https://image.prepladder.com/content/UU8xFlGvKTc6u8wRBXJl1732725772.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:763px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Ice-Lined Refrigerator (ILR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Deep Freezer (DF)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Purpose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Safe storage of vaccines at +2°C to +8°C, especially in areas with unreliable electricity.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Freezing ice packs and short-term storage of <span class=\"customMeta\" data-dictid=\"cc8c7ae0a61692777194b170b3643c\">OPV</span> at district level and above</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Temperature Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>+2°C to +8°C</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>-15°C to -25°C</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Power Failure</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Maintains safe temperatures for at least <strong>8 hours during outage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Limited hold-over time, dependent on the number of ice packs and frequency of opening</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine Placement</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>The upper part stores freeze-sensitive vaccines (e.g., <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">Hepatitis</span> B, DPT), while the lower part stores heat-sensitive vaccines (e.g., OPV, BCG, Measles).</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Never used to store vaccines. However, if used, using the same DF for vaccine storage and <span class=\"customMeta\" data-dictid=\"5c90ca7a521692777189697e72b916\">ice pack</span> preparation is not recommended.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Monitoring</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A <span class=\"customMeta\" data-dictid=\"d9a87c19871692777186bdbb44bdca\">dial</span> <span class=\"customMeta\" data-dictid=\"ddda61658016927772000045e45a57\">thermometer</span> is used to monitor the temperature twice daily.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A stem <span class=\"customMeta\" data-dictid=\"4385d3623c16927771818cc9fd2dd8\">alcohol thermometer</span> is used to monitor the temperature.</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ly8hpbej04fAj69oyInJ1731320676.mp3", "video": ""}, {"text": "A nurse is preparing to administer a 0.1 ml dose of the BCG vaccine to a 6-month-old infant. Which type of syringe should the nurse use?", "options": [{"label": "A", "text": "Tuberculin syringe", "correct": true}, {"label": "B", "text": "Insulin syringe", "correct": false}, {"label": "C", "text": "Either A or B", "correct": false}, {"label": "D", "text": "Neither A or B", "correct": false}], "correct_answer": "A. Tuberculin syringe", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/PAqG1BXHDwiRE1OtcwkM1719847589.png", "https://image.prepladder.com/content/bzE2lsb4zCm83FpXd3MK1719847581.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:698px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculin <span class=\"customMeta\" data-dictid=\"29863704261692777199d30fdfa6fa\">syringe</span> </strong>(Option A)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Insulin <span class=\"customMeta\" data-dictid=\"29863704261692777199d30fdfa6fa\">syringe</span> </strong>(Option B)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Markings</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Marked in millilitres (ml), typically from 0.1 ml to 1 ml.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Calibrated in units, typically from 10 to 100 units.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Used in</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used to measure and administer small volumes of liquid, such as IM injections, test for TB and allergies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used specifically to administer insulin, which is dosed in units.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Image</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-license=\"\" data-source=\"\" height=\"64\" src=\"https://image.prepladder.com/content/PAqG1BXHDwiRE1OtcwkM1719847589.png\" width=\"318\"/></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><img alt=\"\" data-author=\"\" data-license=\"\" data-source=\"\" height=\"61\" src=\"https://image.prepladder.com/content/bzE2lsb4zCm83FpXd3MK1719847581.png\" width=\"315\"/></p>\n</td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/SlKgkWJ2jLtZIR0aV3FM1731320463.mp3", "video": ""}, {"text": "If a healthcare provider temporarily uses a domestic refrigerator to store vaccines, where should he place the Oral Polio Vaccine (OPV) and Measles vaccines inside the refrigerator?", "options": [{"label": "A", "text": "Middle shelf", "correct": false}, {"label": "B", "text": "Door shelves", "correct": false}, {"label": "C", "text": "Top shelf", "correct": true}, {"label": "D", "text": "Bottom shelf", "correct": false}], "correct_answer": "C. Top shelf", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/o0BaO1JRMmyrMB8Cw9z41725427069.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:754px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Domestic Refrigerator Usage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Details</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine Storage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Can be used for storing vaccines at private clinics and <span class=\"customMeta\" data-dictid=\"6f686e0c91169277719346f95361c8\">nursing</span> homes, but hold-over time and capacity are limited. Requires a guaranteed continuous power supply.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Temperature Range</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Maintains a cabinet temperature between +2°C to +8°C.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Placement of Vaccines</strong><br/>\n<strong>(Options A, B, C, D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li><strong>Top Shelf</strong>: Measles, BCG, <span class=\"customMeta\" data-dictid=\"f974df33fe1692777197f92876b44b\">Rotavirus</span> vaccine, OPV</li>\n<li><strong>Middle Shelf</strong>: DPT, <span class=\"customMeta\" data-dictid=\"5050869d8216927771958b19b53d5a\">Pentavalent</span> vaccine, TT, IPV, <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">Hepatitis</span> B, and diluents placed next to their corresponding vaccines.</li>\n<li><strong>Bottom Shelf</strong>: Water-filled ice packs to help maintain temperature stability.</li>\n<li><strong>Door</strong>: Avoid storing vaccines in the door as they experience the most temperature fluctuation</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Ice Pack Usage</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Place ice packs filled with water on the bottom shelf and in the refrigerator door to help maintain the temperature in case of a power outage.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Temperature Monitoring</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A <span class=\"customMeta\" data-dictid=\"d9a87c19871692777186bdbb44bdca\">dial</span> <span class=\"customMeta\" data-dictid=\"ddda61658016927772000045e45a57\">thermometer</span> is placed inside the refrigerator to monitor the temperature twice daily.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/vLnYNofR7zZXdSWOIlBF1731320227.mp3", "video": ""}, {"text": "A vaccination campaign in a remote village with limited electricity access. Which of the following vaccines is most susceptible to damage if not properly maintained during transport?", "options": [{"label": "A", "text": "Hepatitis B vaccine", "correct": false}, {"label": "B", "text": "Pentavalent vaccine", "correct": false}, {"label": "C", "text": "Oral Polio Vaccine (OPV)", "correct": true}, {"label": "D", "text": "Tetanus-Diphtheria vaccine", "correct": false}], "correct_answer": "C. Oral Polio Vaccine (OPV)", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:758px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Characteristics</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Heat Sensitive Vaccines</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Freeze Sensitive Vaccines</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Definition</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vaccines that lose <span class=\"customMeta\" data-dictid=\"2a93f2d9a11692777196928bd78855\">potency</span> (effectiveness) when exposed to temperatures higher than their recommended storage temperature of +2°C to +8°C.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Vaccines that lose <span class=\"customMeta\" data-dictid=\"2a93f2d9a11692777196928bd78855\">potency</span> if frozen or stored below their recommended temperature of +2°C to +8°C.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Storage in ILR</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Stored in the bottom of an Ice Lined Refrigerator (ILR), where the temperature is coldest.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Stored in the top of an Ice Lined Refrigerator (ILR), where the temperature is warmer.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Most heat sensitive: <strong>reconstituted BCG,</strong> <span class=\"customMeta\" data-dictid=\"cc8c7ae0a61692777194b170b3643c\">OPV</span> (Option C), Measles, Rotavirus, JE</li>\n<li>Least heat sensitive: Pentavalent, PCV</li>\n</ul>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Most freeze sensitive: <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">Hepatitis</span> B, Pentavalent, IPV, <span class=\"customMeta\" data-dictid=\"d087911e3e1692777186e2859edb6b\">DPT</span> (Option A, B and D)</li>\n<li>Least freeze sensitive: TT, Td</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/6NkPO9LU0Jh41BJbRGOl1731320061.mp3", "video": ""}, {"text": "A 10-month-old infant came to the clinic for a regular follow-up visit. He missed his most recent vaccine, which was scheduled for 9 months. According to the National Immunization Schedule, which of the following vaccines is not administered to a 10-month-old infant?", "options": [{"label": "A", "text": "Measles", "correct": false}, {"label": "B", "text": "DPT", "correct": true}, {"label": "C", "text": "PCV", "correct": false}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "B. DPT", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Age</strong></th>\n<th><strong>Vaccine</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>At Birth</strong></td>\n<td>BCG, Hepatitis B (Birth dose), OPV (0 dose)</td>\n</tr>\n<tr>\n<td><strong>6 Weeks</strong></td>\n<td>DPT-1, IPV-1, Hepatitis B-1, Hib-1, Rotavirus-1, PCV-1</td>\n</tr>\n<tr>\n<td><strong>10 Weeks</strong></td>\n<td>DPT-2, IPV-2, Hepatitis B-2, Hib-2, Rotavirus-2, PCV-2</td>\n</tr>\n<tr>\n<td><strong>14 Weeks</strong></td>\n<td>DPT-3, IPV-3, Hepatitis B-3, Hib-3, Rotavirus-3, PCV-3</td>\n</tr>\n<tr>\n<td><strong>6 Months</strong></td>\n<td>Vitamin A (first dose)</td>\n</tr>\n<tr>\n<td><strong>9 Months</strong></td>\n<td>Measles-1, PCV Booster, JE-1 (in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> areas)</td>\n</tr>\n<tr>\n<td><strong>16-24 Months</strong></td>\n<td>DPT Booster-1, IPV Booster, Measles-2, Vitamin A (second dose)</td>\n</tr>\n<tr>\n<td><strong>5-6 Years</strong></td>\n<td>DPT Booster-2, OPV Booster</td>\n</tr>\n<tr>\n<td><strong>10 Years</strong></td>\n<td>Tetanus and Diphtheria (Td)</td>\n</tr>\n<tr>\n<td><strong>16 Years</strong></td>\n<td>Tetanus and Diphtheria (Td)</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/mIbWZd5fDBWA1XhzDXr31731321918.mp3", "video": ""}, {"text": "A nurse is preparing to administer a 0.1 ml dose of the BCG vaccine to a 6-month-old infant. Which type of syringe should the nurse use?", "options": [{"label": "A", "text": "Tuberculin syringe", "correct": true}, {"label": "B", "text": "Insulin syringe", "correct": false}, {"label": "C", "text": "Either A or B", "correct": false}, {"label": "D", "text": "Neither A or B", "correct": false}], "correct_answer": "A. Tuberculin syringe", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/CHT3xedBWe8PIWFaTxa31732724986.png", "https://image.prepladder.com/content/43KsjFX4LxVhpuPCvHQM1732724970.png"], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:698px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Feature</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tuberculin <span class=\"customMeta\" data-dictid=\"29863704261692777199d30fdfa6fa\">syringe</span> </strong><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Insulin <span class=\"customMeta\" data-dictid=\"29863704261692777199d30fdfa6fa\">syringe</span> </strong><strong>(Option B)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Markings</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Marked in millilitres (ml), typically from 0.1 ml to 1 ml.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Calibrated in units, typically from 10 to 100 units.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Used in</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used to measure and administer small volumes of liquid, such as IM injections, test for TB and allergies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Used specifically to administer insulin, which is dosed in units.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Image</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"126\" src=\"https://image.prepladder.com/content/CHT3xedBWe8PIWFaTxa31732724986.png\" width=\"576\"/></td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"><img alt=\"\" data-author=\"\" data-hash=\"\" data-license=\"\" data-source=\"\" data-tags=\"\" height=\"144\" src=\"https://image.prepladder.com/content/43KsjFX4LxVhpuPCvHQM1732724970.png\" width=\"618\"/></td>\n</tr>\n</tbody>\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/ocajBWawReycn9VaIezW1731319598.mp3", "video": ""}, {"text": "Which of the following vaccines is appropriate to administer to an 18-month-old child who has not received any prior vaccination according to national immunisation schedule?", "options": [{"label": "A", "text": "OPV + MMR", "correct": true}, {"label": "B", "text": "Pentavalent", "correct": false}, {"label": "C", "text": "BCG + OPV", "correct": false}, {"label": "D", "text": "BCG + OPV + MMR", "correct": false}], "correct_answer": "A. OPV + MMR", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Time</strong></th>\n<th><strong>Vaccine</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Till 15 days</strong></td>\n<td>OPV birth dose</td>\n</tr>\n<tr>\n<td><strong>Till 24 hours</strong></td>\n<td>Hepatitis B birth dose</td>\n</tr>\n<tr>\n<td><strong>Up to 1 year</strong></td>\n<td>BCG, Rotavirus, Pentavalent, fIPV, PCV, Hepatitis B (alone)</td>\n</tr>\n<tr>\n<td><strong>Up to 5 years</strong></td>\n<td>OPV, Measles, MR vaccine, Vitamin A drops</td>\n</tr>\n<tr>\n<td><strong>Up to 7 years</strong></td>\n<td>DPT</td>\n</tr>\n<tr>\n<td><strong>Up to 15 years</strong></td>\n<td>JE</td>\n</tr>\n<tr>\n<td><strong>Lifelong</strong></td>\n<td>Td</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/UZ6De5IGdRixXTSme2Rk1748208129.mp3", "video": ""}, {"text": "A 68 y/o man with a history of chronic obstructive pulmonary disease (COPD) and hypertension hasn't received any vaccines in recent years and is concerned about his increased risk of infections. Which of the following vaccines should be given to him?", "options": [{"label": "A", "text": "Influenza vaccine", "correct": false}, {"label": "B", "text": "Pneumococcal vaccine (PCV13 followed by PPSV23)", "correct": false}, {"label": "C", "text": "Tdap vaccine", "correct": false}, {"label": "D", "text": "All of the above", "correct": true}], "correct_answer": "D. All of the above", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th>Vaccine</th>\n<th>Indication</th>\n<th>Schedule</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Influenza</strong></td>\n<td>Annual <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> for all individuals ≥ 60 years</td>\n<td>1 dose every year</td>\n</tr>\n<tr>\n<td><strong>Pneumococcal (PCV13, PPSV23)</strong></td>\n<td>Prevents pneumococcal pneumonia, especially in chronic conditions</td>\n<td>PCV13 followed by PPSV23 after 1 year</td>\n</tr>\n<tr>\n<td><strong>Tdap/Td</strong></td>\n<td>Tetanus, diphtheria, <span class=\"customMeta\" data-dictid=\"e407b4ecb9169277719549831239bb\">pertussis</span> protection</td>\n<td>Tdap once, then Td <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> every 10 years</td>\n</tr>\n<tr>\n<td><strong>Herpes <span class=\"customMeta\" data-dictid=\"03350c16f71692777202dbca70976e\">Zoster</span> (Zoster vaccine)</strong></td>\n<td>Prevents <span class=\"customMeta\" data-dictid=\"33e93bf3c11692777198d5b2fdd8ba\">shingles</span> in adults ≥ 50 years</td>\n<td>2 doses, 2–6 months apart</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/f6ImjCXkcZxBBB7RL5HP1731319158.mp3", "video": ""}, {"text": "A 30 y/o woman at 16 weeks gestation has a history of three prior pregnancies and her last delivery was 18 months ago. Which of the following is the most appropriate Td vaccination schedule for this patient?", "options": [{"label": "A", "text": "2 doses of Td vaccine, one month apart, starting immediately.", "correct": false}, {"label": "B", "text": "1 dose of Td vaccine now.", "correct": false}, {"label": "C", "text": "1 dose of Td vaccine around the 7th month of pregnancy.", "correct": true}, {"label": "D", "text": "No Td vaccine is needed for this pregnancy.", "correct": false}], "correct_answer": "C. 1 dose of Td vaccine around the 7th month of pregnancy.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:666px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Primi-gravida or <span class=\"customMeta\" data-dictid=\"b05e7f9d2b1692777193a482f44741\">multigravida</span> with last delivery >3 years ago</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>2 doses of Td vaccine:</p>\n<ul>\n<li>Td1 - Early in pregnancy, 0.5ml IM</li>\n<li>Td2 - 4 weeks after Td1, 0.5ml IM</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Multigravida with last delivery <3 years</strong><br/>\n\t\t\t(If received 2 Td doses in a pregnancy within the last 3 yrs)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Td-Booster around the 7th month of pregnancy</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xBWQfNNzGJwTkq0qnWP81731318965.mp3", "video": ""}, {"text": "Which of the following is true regarding BCG vaccination?", "options": [{"label": "A", "text": "It is an inactivated vaccine", "correct": false}, {"label": "B", "text": "Can be administered only on the left upper arm", "correct": false}, {"label": "C", "text": "Provides protection only against extrapulmonary TB", "correct": true}, {"label": "D", "text": "None of the above", "correct": false}], "correct_answer": "C. Provides protection only against extrapulmonary TB", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answera: C) Provides protection only against <span class=\"customMeta\" data-dictid=\"728e7607f31692777187291e007a0b\">extrapulmonary</span> TB</p>\n<table>\n<thead>\n<tr>\n<th><strong>Aspect</strong></th>\n<th><strong>Details</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Full Form</strong></td>\n<td>Bacillus Calmette-Guérin (BCG)</td>\n</tr>\n<tr>\n<td><strong>Type of Vaccine</strong></td>\n<td>Live attenuated vaccine derived from <em>Mycobacterium bovis</em></td>\n</tr>\n<tr>\n<td><strong>Mechanism of Action</strong></td>\n<td>Stimulates <span class=\"customMeta\" data-dictid=\"12a6f23332169277718402ca6703e2\">cellular</span> <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> (T-cell mediated) against <em>Mycobacterium tuberculosis</em></td>\n</tr>\n<tr>\n<td><strong>Indications</strong></td>\n<td>Routine childhood <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">immunization</span> (to prevent severe TB forms like <span class=\"customMeta\" data-dictid=\"de0ef5a95116927771922f41d2b8b5\">miliary</span> TB & TB meningitis)<br/>\n\t\t\tHigh-risk individuals in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> regions<br/>\n\t\t\tConsidered for health workers and individuals with high TB exposure</td>\n</tr>\n<tr>\n<td><strong>Administration</strong></td>\n<td><strong>Route</strong>: Intradermal (ID)<br/>\n<strong>Site</strong>: Left upper arm (deltoid region) to <span class=\"customMeta\" data-dictid=\"0fe324746116927771990ad159b331\">standardize</span> <span class=\"customMeta\" data-dictid=\"561a199cce1692777198225706434c\">scar</span> assessment</td>\n</tr>\n<tr>\n<td><strong>Schedule</strong></td>\n<td>Given at <strong>birth</strong> (or as early as possible until 1 year of age if not previously vaccinated)</td>\n</tr>\n<tr>\n<td><strong>Dosage</strong></td>\n<td>0.1 mL for infants >1 month<br/>\n\t\t\t0.05 mL for newborns (≤1 month)</td>\n</tr>\n<tr>\n<td><strong>Contraindications</strong></td>\n<td>Symptomatic HIV/AIDS (due to risk of <span class=\"customMeta\" data-dictid=\"f4006059f916927771865569d4da7d\">disseminated</span> BCG infection)<br/>\n\t\t\tPrimary immunodeficiencies<br/>\n\t\t\tSevere illness</td>\n</tr>\n<tr>\n<td><strong>Adverse Reactions</strong></td>\n<td>Local <span class=\"customMeta\" data-dictid=\"50f4196df6169277720181ef605c33\">ulceration</span> and <span class=\"customMeta\" data-dictid=\"561a199cce1692777198225706434c\">scar</span> formation (normal immune response)<br/>\n\t\t\tSuppurative <span class=\"customMeta\" data-dictid=\"9661edc9261692777191c0470c0ecc\">lymphadenitis</span> (rare)<br/>\n\t\t\tDisseminated BCG infection (only in <span class=\"customMeta\" data-dictid=\"a3cc9f976916927771895692a1a8a0\">immunocompromised</span> patients)</td>\n</tr>\n<tr>\n<td><strong>Scar Formation</strong></td>\n<td>A characteristic <strong>BCG scar</strong> develops at the <span class=\"customMeta\" data-dictid=\"3509997646169277719014053aa74d\">injection</span> site within 6-8 weeks, confirming successful vaccination</td>\n</tr>\n<tr>\n<td><strong>Special Considerations</strong></td>\n<td><strong>Not part of adult <span class=\"customMeta\" data-dictid=\"f23be6aa561692777201ca2e1aaa27\">vaccination</span> schedules</strong> unless in specific high-risk settings<br/>\n<strong>No <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> doses</strong> required, as its protective effect does not increase with revaccination</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/iORMnDh35C5Jy2nXIrPc1731318711.mp3", "video": ""}, {"text": "Match the following vaccines with their route of administration VACCINE ROUTE A) Rotavirus i) Subcutaneous B) BCG ii) Oral C) JE iii) Intramuscular D) Pentavalent iv) Intradermal", "options": [{"label": "A", "text": "A-ii; B-iv; C-i; D-iii", "correct": true}, {"label": "B", "text": "A-i; B-iii; C-ii; D-iv", "correct": false}, {"label": "C", "text": "A-iv; B-i; C-iii; D-ii", "correct": false}, {"label": "D", "text": "A-iii; B-ii; C-iv; D-i", "correct": false}], "correct_answer": "A. A-ii; B-iv; C-i; D-iii", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/qMJy209j2yMtVZJVI7di1732724639.png"], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Vaccine</strong></th>\n<th><strong>Route of Administration</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Rotavirus</strong> (A)</td>\n<td><strong>Oral (ii)</strong> → Given as oral drops.</td>\n</tr>\n<tr>\n<td><strong>BCG</strong> (B)</td>\n<td><strong>Intradermal (iv)</strong> → Given in the left upper arm.</td>\n</tr>\n<tr>\n<td><strong>Japanese <span class=\"customMeta\" data-dictid=\"9644652a1f16927771873765457fcc\">Encephalitis</span> (JE)</strong> (C)</td>\n<td><strong>Subcutaneous (i)</strong> → Given in the upper arm.</td>\n</tr>\n<tr>\n<td><strong>Pentavalent</strong> (D)</td>\n<td><strong>Intramuscular (iii)</strong> → Given in the <span class=\"customMeta\" data-dictid=\"5a5df583551692777181550518132c\">anterolateral</span> thigh.</td>\n</tr>\n</tbody>\n</table>\n<table>\n<thead>\n<tr>\n<th><strong>Route</strong></th>\n<th><strong>Vaccine</strong></th>\n<th><strong>Dose</strong></th>\n<th><strong>Site</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td colspan=\"1\" rowspan=\"2\"><strong>Oral</strong></td>\n<td>OPV (Oral <span class=\"customMeta\" data-dictid=\"7b1b23cdec1692777196fb5ec9f3f5\">Polio</span> Vaccine)</td>\n<td>2 drops</td>\n<td>Oral</td>\n</tr>\n<tr>\n<td>Rotavirus</td>\n<td>5 drops</td>\n<td>Oral</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"2\"><strong>Intradermal</strong></td>\n<td>BCG (Bacillus Calmette-Guérin)</td>\n<td>0.1 ml (0.05 ml until 1 month)</td>\n<td>Left upper arm</td>\n</tr>\n<tr>\n<td>fIPV (Fractional IPV)</td>\n<td>0.1 ml</td>\n<td>Right upper arm</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"3\"><strong>Intramuscular</strong></td>\n<td>Pentavalent (DPT, <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B, Hib)</td>\n<td>0.5 ml</td>\n<td>Antero-lateral side of mid-thigh</td>\n</tr>\n<tr>\n<td>PCV (Pneumococcal <span class=\"customMeta\" data-dictid=\"2421c657771692777185af1b7b59c3\">Conjugate</span> Vaccine)</td>\n<td>0.5 ml</td>\n<td>Antero-lateral side of mid-thigh</td>\n</tr>\n<tr>\n<td>Td (Tetanus and Diphtheria)</td>\n<td>0.5 ml</td>\n<td>Upper arm</td>\n</tr>\n<tr>\n<td colspan=\"1\" rowspan=\"2\"><strong>Subcutaneous</strong></td>\n<td>MR (Measles-Rubella)</td>\n<td>0.5 ml</td>\n<td>Right upper arm</td>\n</tr>\n<tr>\n<td>JE (Japanese Encephalitis)</td>\n<td>0.5 ml</td>\n<td>\n<p>Left upper arm (Live vaccine via S.C)</p>\n<p>Killed vaccine via I.M- <span class=\"customMeta\" data-dictid=\"5a5df583551692777181550518132c\">Anterolateral</span> thigh (<3 years, IM); <span class=\"customMeta\" data-dictid=\"70d60276a81692777185b5f6f71fa9\">Deltoid</span> (≥3 years, IM)</p>\n</td>\n</tr>\n<tr>\n<td><strong>Intranasal</strong></td>\n<td>Influenza</td>\n<td>0.2 ml (0.1 ml each nostril)</td>\n<td>Nasopharynx</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/xsOUkLa27YDRBeju1zTO1731318260.mp3", "video": ""}, {"text": "Under the Vitamin A distribution scheme, which of the following is the appropriate dose of Vitamin A to prevent blindness in a 3-year-old?", "options": [{"label": "A", "text": "100,000 IU", "correct": false}, {"label": "B", "text": "150,000 IU", "correct": false}, {"label": "C", "text": "200,000 IU", "correct": true}, {"label": "D", "text": "50,000 IU", "correct": false}], "correct_answer": "C. 200,000 IU", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Age</strong></th>\n<th><strong>Dosage (Oral Route)</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>< 6 months</strong></td>\n<td>50,000 IU</td>\n</tr>\n<tr>\n<td><strong>6 - 12 months</strong></td>\n<td>100,000 IU</td>\n</tr>\n<tr>\n<td><strong>9 months</strong> (with <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">measles</span> vaccine)</td>\n<td>100,000 IU</td>\n</tr>\n<tr>\n<td><strong>1 - 5 years</strong> (every 6 months)</td>\n<td><strong>200,000 IU</strong> </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/O5pYV8j6qiTJmpTGEe8r1731318115.mp3", "video": ""}, {"text": "Consider the following statements: i) f IPV is a live attenuated vaccine. ii) fIPV is not effective in control of epidemics iii) OPV has a shorter shelf life than IPV iv) fIPV provides humoral immunity only v) 5 ml of fIPV is administered via IM route Which of the following are correct?", "options": [{"label": "A", "text": "i, ii and iii", "correct": false}, {"label": "B", "text": "ii, iii and iv", "correct": true}, {"label": "C", "text": "ii, iii and v", "correct": false}, {"label": "D", "text": "i, iii and v", "correct": false}], "correct_answer": "B. ii, iii and iv", "question_images": [], "explanation_images": [], "explanation": "<table>\n<thead>\n<tr>\n<th><strong>Feature</strong></th>\n<th><strong>IPV (Inactivated <span class=\"customMeta\" data-dictid=\"b5b2c3bf5516927771962adf24f3be\">Poliovirus</span> Vaccine)</strong></th>\n<th><strong>OPV (Oral <span class=\"customMeta\" data-dictid=\"b5b2c3bf5516927771962adf24f3be\">Poliovirus</span> Vaccine)</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Type of Vaccine</strong></td>\n<td>Inactivated (killed) virus</td>\n<td>Live attenuated virus</td>\n</tr>\n<tr>\n<td><strong>Route of Administration</strong></td>\n<td>Intramuscular (IM) or <span class=\"customMeta\" data-dictid=\"de8b4033c51692777190aaeca3d6bc\">Intradermal</span> (ID)</td>\n<td>Oral (drops)</td>\n</tr>\n<tr>\n<td><strong>Immunity Provided</strong></td>\n<td>Systemic (humoral) immunity</td>\n<td>Systemic + mucosal <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> (gut immunity)</td>\n</tr>\n<tr>\n<td><strong>Effectiveness in Epidemics</strong></td>\n<td>Not effective in stopping transmission</td>\n<td>Highly effective in epidemic control</td>\n</tr>\n<tr>\n<td><strong>Prevention of Virus Shedding</strong></td>\n<td>Limited effect on intestinal virus shedding</td>\n<td>Strong gut <span class=\"customMeta\" data-dictid=\"4f9ee631c21692777189b1e0cdc91c\">immunity</span> prevents shedding</td>\n</tr>\n<tr>\n<td><strong>Shelf Life & Storage</strong></td>\n<td>More stable, longer shelf life</td>\n<td>Less stable, requires strict cold chain</td>\n</tr>\n<tr>\n<td><strong>Risk of Vaccine-Derived <span class=\"customMeta\" data-dictid=\"b5b2c3bf5516927771962adf24f3be\">Poliovirus</span> (VDPV)</strong></td>\n<td>No risk of VDPV</td>\n<td>Small risk of VDPV due to live virus reversion</td>\n</tr>\n<tr>\n<td><strong>Use in Eradication Programs</strong></td>\n<td>Primarily used in polio-free areas</td>\n<td>Used in <span class=\"customMeta\" data-dictid=\"59c8c1e4b316927771873c98afae15\">endemic</span> and outbreak settings</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/VgeqBX6OGYYYM5Hq4XRN1731321686.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 28 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "All are live vaccines except:", "options": [{"label": "A", "text": "Rota virus", "correct": false}, {"label": "B", "text": "Hepatitis B", "correct": false}, {"label": "C", "text": "Measles", "correct": false}, {"label": "D", "text": "Varicella", "correct": true}], "correct_answer": "D. Varicella", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:429px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease Prevented</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rotavirus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rotavirus gastroenteritis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Measles, Mumps, <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">Rubella</span> (MMR)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measles, Mumps, Rubella</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Varicella</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Chickenpox</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Oral <span class=\"customMeta\" data-dictid=\"7b1b23cdec1692777196fb5ec9f3f5\">Polio</span> Vaccine (OPV)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Poliomyelitis</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Yellow Fever</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yellow Fever</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>BCG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Tuberculosis</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:536px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Disease Prevented</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Type</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Hepatitis B</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hepatitis B</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Recombinant subunit</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Polio (IPV)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Poliomyelitis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Rabies</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rabies</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Influenza (Injectable)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Influenza</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>COVID-19 (Covaxin, Sinopharm)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>COVID-19</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Vaccine protocol followed after Disaster?", "options": [{"label": "A", "text": "Everyone is given diphtheria", "correct": false}, {"label": "B", "text": "Everyone is given tetanus toxoid", "correct": false}, {"label": "C", "text": "Everyone is given cholera vaccine", "correct": false}, {"label": "D", "text": "Only the health worker given cholera, typhoid, tetanus toxoid", "correct": true}], "correct_answer": "D. Only the health worker given cholera, typhoid, tetanus toxoid", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the options listed below indicates the degree of heat resistance exhibited by vaccines?", "options": [{"label": "A", "text": "VMV", "correct": false}, {"label": "B", "text": "VVM", "correct": true}, {"label": "C", "text": "MVV", "correct": false}, {"label": "D", "text": "VMM", "correct": false}], "correct_answer": "B. VVM", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "There is an outbreak of acute encephalitis in the community and a vaccination drive is launched. Which of the following is true about the vaccine given in this condition?", "options": [{"label": "A", "text": "Killed and intramuscular", "correct": true}, {"label": "B", "text": "Live and subcutaneous", "correct": false}, {"label": "C", "text": "Live and intramuscular", "correct": false}, {"label": "D", "text": "Killed and subcutaneous", "correct": false}], "correct_answer": "A. Killed and intramuscular", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vaccine Type</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Route of Administration</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Usage</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Inactivated (Killed)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>JEEV, IXIARO</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Intramuscular (IM)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Used in outbreaks & travelers</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Live Attenuated</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>SA 14-14-2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Subcutaneous (SC)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Routine immunization</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Considering the immune status of a girl child who has been experiencing repeated yeast infections and respiratory virus infections since the age of 3 months, which vaccine should be avoided?", "options": [{"label": "A", "text": "Killed IPV", "correct": false}, {"label": "B", "text": "Measles/MMR", "correct": true}, {"label": "C", "text": "DPT", "correct": false}, {"label": "D", "text": "TT/Td", "correct": false}], "correct_answer": "B. Measles/MMR", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Age</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Route</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Site</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Type of Vaccine</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>BCG</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth (up to 1 year)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intradermal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Left upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hepatitis B (Birth Dose)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth (within 24 hrs)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>OPV (Zero Dose)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth (within 15 days)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Pentavalent (DPT + Hib + <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 10, 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>DPT (toxoid), Hib & <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B (inactivated)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>OPV</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 10, 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Rotavirus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 10, 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>IPV (Fractional)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6 & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intradermal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>PCV (Pneumococcal <span class=\"customMeta\" data-dictid=\"2421c657771692777185af1b7b59c3\">Conjugate</span> Vaccine)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 14 weeks, and 9 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Conjugate</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Measles & <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">Rubella</span> (MR) </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-12 months & 16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>JE (Japanese Encephalitis)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-12 months & 16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Left upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>DPT Booster-1 </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxoid</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>OPV Booster</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>PCV Booster</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-12 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Conjugate</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Measles/MR Booster</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>DPT Booster-2</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5-6 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Deltoid</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxoid</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>TT (Tetanus Toxoid)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>10 years & 16 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Deltoid</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxoid</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Cervical Cancer (HPV)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-14 years (girls)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Deltoid</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recombinant</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which vaccine is administered as part of the immunization program for a 10- year-old student in school?", "options": [{"label": "A", "text": "BCG", "correct": false}, {"label": "B", "text": "MMR", "correct": false}, {"label": "C", "text": "TT/ Td", "correct": true}, {"label": "D", "text": "DPT", "correct": false}], "correct_answer": "C. TT/ Td", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Age</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Route</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Site</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Type of Vaccine</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>BCG (Option A ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth (up to 1 year)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intradermal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Left upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Hepatitis B (Birth Dose)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth (within 24 hrs)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>OPV (Zero Dose)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth (within 15 days)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Pentavalent (DPT + Hib + <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 10, 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>DPT (toxoid), Hib & <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B (inactivated)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>OPV</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 10, 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Rotavirus</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 10, 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>IPV (Fractional)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6 & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intradermal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Inactivated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>PCV (Pneumococcal <span class=\"customMeta\" data-dictid=\"2421c657771692777185af1b7b59c3\">Conjugate</span> Vaccine)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6, 14 weeks, and 9 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Conjugate</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Measles & <span class=\"customMeta\" data-dictid=\"b8aa1ffb8916927771976438d71d1b\">Rubella</span> (MR) (Option B ruled out)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-12 months & 16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>JE (Japanese Encephalitis)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-12 months & 16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Left upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>DPT Booster-1 </strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxoid</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>OPV Booster</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>-</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>PCV Booster</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-12 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Anterolateral thigh</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Conjugate</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Measles/MR Booster</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Live attenuated</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>DPT Booster-2</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5-6 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Deltoid</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxoid</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>TT (Tetanus Toxoid)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>10 years & 16 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Deltoid</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Toxoid</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Cervical Cancer (HPV)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9-14 years (girls)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Deltoid</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Recombinant</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the market, there are several new vaccines being researched, and their effectiveness is being evaluated and displayed in the image provided. Which of the recently developed vaccines demonstrate comparable efficacy to the previous vaccine?", "options": [{"label": "A", "text": "D only", "correct": false}, {"label": "B", "text": "D and E", "correct": false}, {"label": "C", "text": "C, D and E", "correct": true}, {"label": "D", "text": "A, B, C and D", "correct": false}], "correct_answer": "C. C, D and E", "question_images": ["https://image.prepladder.com/notes/QxSasxb5RXBS1Gs3hzrd1746794725.png"], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which vaccine among the options exhibits a seroconversion rate that is quicker than the incubation period of the corresponding disease?", "options": [{"label": "A", "text": "Coronavirus", "correct": false}, {"label": "B", "text": "Measles", "correct": true}, {"label": "C", "text": "Polio", "correct": false}, {"label": "D", "text": "Mumps", "correct": false}], "correct_answer": "B. Measles", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer B - M\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the initial step when an immunization survey is being conducted?", "options": [{"label": "A", "text": "Cluster identification", "correct": true}, {"label": "B", "text": "Conducting the survey", "correct": false}, {"label": "C", "text": "Completing the cluster and summary forms", "correct": false}, {"label": "D", "text": "Calculating the total fertility rate of the area", "correct": false}], "correct_answer": "A. Cluster identification", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer A - Clu\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of these vaccines do not follow open vial policy?", "options": [{"label": "A", "text": "OPV", "correct": false}, {"label": "B", "text": "DPT", "correct": false}, {"label": "C", "text": "TT", "correct": false}, {"label": "D", "text": "Measles", "correct": true}], "correct_answer": "D. Measles", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Answer D - <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">Measles</span&g\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A child presents with a dog bite from a street dog. On examination, an abrasion of 1.5 cm is present, with slight oozing. Which of the following statements is correct? 1. Category 3 wound 2. Wash the wound with normal tap water for 15-20 minutes 3. Clean the wound with spirit 4. Loose suturing of the wound with a proper dressing 5. Equine immunoglobulin is given a dose of 40 IU/kg of body weight, twice 6. The intradermal vaccine is administered on day 0,3,7,28", "options": [{"label": "A", "text": "2,3,5,6", "correct": false}, {"label": "B", "text": "1,2,5,6", "correct": false}, {"label": "C", "text": "1,2,3,5", "correct": false}, {"label": "D", "text": "1,2,3,6", "correct": true}], "correct_answer": "D. 1,2,3,6", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following regarding the vaccine vial monitor (VVM) is true? 1. It is used for monitoring heat exposure of the vaccine by healthcare workers in primary healthcare. 2. It shows cumulative exposure of the vaccine to the heat. 3. It can be used to assess the potential efficacy of the vaccine 4. Calculation of the expiry date can be done using VVM. 5. The expiry date of the vaccine can be relaxed if VVM is an acceptable range. 6. If the square and the circle are the same in color, then the vaccine can be safely used.", "options": [{"label": "A", "text": "3, 4", "correct": false}, {"label": "B", "text": "1, 2", "correct": true}, {"label": "C", "text": "1, 2, 3, 4, 5", "correct": false}, {"label": "D", "text": "5, 6", "correct": false}], "correct_answer": "B. 1, 2", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements is false regarding rabies immunoglobulin?", "options": [{"label": "A", "text": "It is exclusively given only in the deltoid", "correct": true}, {"label": "B", "text": "The dose is 20 IU/kg", "correct": false}, {"label": "C", "text": "Administer it immediately after exposure", "correct": false}, {"label": "D", "text": "If human RIG is unavailable, equine is preferred", "correct": false}], "correct_answer": "A. It is exclusively given only in the deltoid", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What would be the most appropriate approach to managing a young male patient who has presented at the hospital with a clean-cut wound that is not bleeding, and who received a complete tetanus vaccination 10 years ago?", "options": [{"label": "A", "text": "Human tetanus immunoglobulin and full course of vaccine", "correct": false}, {"label": "B", "text": "Human tetanus immunoglobulin", "correct": false}, {"label": "C", "text": "Single-dose tetanus toxoid", "correct": true}, {"label": "D", "text": "Full course tetanus toxoid", "correct": false}], "correct_answer": "C. Single-dose tetanus toxoid", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:614px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Category</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Clean wound</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Unclean wound</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Category A</strong></p>\n<p>Has had a complete course of <span class=\"customMeta\" data-dictid=\"b895bf74681692777200571d1bd203\">toxoid</span> or a <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> dose (full immunisation) within the past 5 years.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Only wound care.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Only wound care.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Category B</strong></p>\n<p>Full <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">immunization</span> > 5 years</p>\n<p>ago < 10 years.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wound Care + TT single dose.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wound Care + TT single dose.</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Category C</strong></p>\n<p>Full <span class=\"customMeta\" data-dictid=\"f5f07a3262169277718915163d31e3\">Immunization</span> > 10 years</p>\n<p>ago.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wound Care + TT single dose.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wound Care + TT single dose + Human <span class=\"customMeta\" data-dictid=\"64dfe4fca51692777200a7ffbc44bb\">Tetanus</span> Immunoglobulin.</p>\n<p> </p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Category D</strong></p>\n<p>Unknown, not known, never</p>\n<p>taken immunisation.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wound Care + TT complete</p>\n<p>course.</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Wound Care + TT complete</p>\n<p>course + Human Tetanus</p>\n<p>Immunoglobulin.</p>\n<p> </p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following vaccines is not recommended after 65 years?", "options": [{"label": "A", "text": "Influenza", "correct": false}, {"label": "B", "text": "Herpes Zoster", "correct": false}, {"label": "C", "text": "Pneumococcal", "correct": false}, {"label": "D", "text": "Human papilloma virus", "correct": true}], "correct_answer": "D. Human papilloma virus", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:625px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Purpose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Recommended After 65?</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Influenza</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevents <span class=\"customMeta\" data-dictid=\"201a6ea7721692777198c51d735506\">seasonal</span> <span class=\"customMeta\" data-dictid=\"3c315893951692777202624a3f0caf\">flu</span> complications</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yes, annually</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Pneumococcal (PCV15/PCV20, PPSV23)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevents pneumonia, bacteremia, meningitis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yes, once or as per schedule</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Herpes <span class=\"customMeta\" data-dictid=\"03350c16f71692777202dbca70976e\">Zoster</span> (Recombinant <span class=\"customMeta\" data-dictid=\"03350c16f71692777202dbca70976e\">Zoster</span> Vaccine - RZV)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevents <span class=\"customMeta\" data-dictid=\"33e93bf3c11692777198d5b2fdd8ba\">shingles</span> and <span class=\"customMeta\" data-dictid=\"1bb8e93c5d1692777196df519ed5b3\">postherpetic</span> neuralgia</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yes, 2 doses after 50 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Tetanus, Diphtheria, <span class=\"customMeta\" data-dictid=\"e407b4ecb9169277719549831239bb\">Pertussis</span> (Tdap/Td)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevents <span class=\"customMeta\" data-dictid=\"64dfe4fca51692777200a7ffbc44bb\">tetanus</span> and pertussis</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yes, <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> every 10 years</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>COVID-19</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reduces risk of severe COVID-19</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Yes, as per updated recommendations</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>HPV</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Prevents <span class=\"customMeta\" data-dictid=\"25c6ce766c1692777184ab9a40305c\">cervical</span> and other cancers</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Not recommended after 45 years</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the schedule of the OPV vaccine?", "options": [{"label": "A", "text": "6th week, 10th week and 14th week", "correct": true}, {"label": "B", "text": "6th week, 10th week &amp; 9th month", "correct": false}, {"label": "C", "text": "6th week, 14th week &amp; 9th month", "correct": false}, {"label": "D", "text": "6 to 12 weeks", "correct": false}], "correct_answer": "A. 6th week, 10th week and 14th week", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:693px\">\n<thead>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Characteristic</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>IPV (salk type)</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>OPV (sabin type)</strong></p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Type of vaccine</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Killed formalised virus</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Live attenuated virus</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Mode of administration</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>S/C or IM (0.5 mL)</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Oral (2 drops)</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Type of immunity</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Only humoral</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Humoral and intestinal</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Prevention of</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Paralysis</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Paralysis + Intestinal re-infection</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Control of epidemics</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Not useful</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Effective</p>\n</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Storage & transport</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less stringent conditions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires sub-zero temperatures</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Shelf life</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Longer</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Short</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>VAPP (Vaccine Associated <span class=\"customMeta\" data-dictid=\"14bba9af561692777194c8cadacf13\">Paralytic</span> Polio)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Zero incidences</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 1 million vaccines</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is the fIPV dose schedule under the National Immunization Schedule?", "options": [{"label": "A", "text": "6 weeks, 10 weeks, 14 weeks", "correct": false}, {"label": "B", "text": "At birth, 6 weeks, 10 weeks, 14 weeks, 16-24 months, 5 years", "correct": false}, {"label": "C", "text": "6 weeks, 14 weeks, 9 months", "correct": true}, {"label": "D", "text": "6 weeks, 10 weeks, 12 weeks", "correct": false}], "correct_answer": "C. 6 weeks, 14 weeks, 9 months", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:693px\">\n<thead>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Characteristic</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>IPV (salk type)</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>OPV (sabin type)</strong></p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Type of vaccine</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Killed formalised virus</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Live attenuated virus</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Mode of administration</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>S/C or IM (0.5 mL)</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Oral (2 drops)</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Type of immunity</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Only humoral</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Humoral and intestinal</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Prevention of</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Paralysis</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Paralysis + Intestinal re-infection</p>\n</th>\n</tr>\n<tr>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p><strong>Control of epidemics</strong></p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Not useful</p>\n</th>\n<th scope=\"col\" style=\"vertical-align:top\">\n<p>Effective</p>\n</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Storage & transport</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less stringent conditions</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Requires sub-zero temperatures</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Shelf life</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Longer</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Short</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>VAPP (Vaccine Associated <span class=\"customMeta\" data-dictid=\"14bba9af561692777194c8cadacf13\">Paralytic</span> Polio)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Zero incidences</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>1 per 1 million vaccines</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following vaccine is kept at lowest level?", "options": [{"label": "A", "text": "OPV", "correct": true}, {"label": "B", "text": "DPT", "correct": false}, {"label": "C", "text": "Hep B", "correct": false}, {"label": "D", "text": "Rota", "correct": false}], "correct_answer": "A. OPV", "question_images": ["https://image.prepladder.com/content/zybjgrgOwfw10yM13PEn1724851062.PNG"], "explanation_images": ["https://image.prepladder.com/content/e3lRci92ucBetr2GnrWJ1724851113.png", "https://image.prepladder.com/content/OZuNGi8rXJ61m48lC1af1724851135.png"], "explanation": "<p>Correct Option A - OPV\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Shanchol vaccine consists of?", "options": [{"label": "A", "text": "Monovalent 2 doses", "correct": false}, {"label": "B", "text": "Monovalent 1 dose", "correct": false}, {"label": "C", "text": "Bivalent 2 doses", "correct": true}, {"label": "D", "text": "Bivalent 1 dose", "correct": false}], "correct_answer": "C. Bivalent 2 doses", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - <span class=\"customMeta\" data-dictid=\"72e40ae28916927771833a7a1d469b\">Bivalent</span> 2\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "When are the three doses of fIPV ideally given as per the National Immunization Schedule?", "options": [{"label": "A", "text": "3 doses at 6 weeks, 14 weeks, and 9 completed months", "correct": true}, {"label": "B", "text": "At 10 weeks, 14 weeks, and 9 completed months", "correct": false}, {"label": "C", "text": "At 6 weeks, 10 weeks, and 18 completed months", "correct": false}, {"label": "D", "text": "3 doses at 6 weeks, 14 weeks, and 18 completed months", "correct": false}], "correct_answer": "A. 3 doses at 6 weeks, 14 weeks, and 9 completed months", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 10 year old child is brought to the clinic for his regular immunization. What vaccine is given as a part of the national immunization schedule?", "options": [{"label": "A", "text": "TT/Td", "correct": true}, {"label": "B", "text": "BCG", "correct": false}, {"label": "C", "text": "MMR", "correct": false}, {"label": "D", "text": "DTP", "correct": false}], "correct_answer": "A. TT/Td", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n<thead>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Time</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\"><strong>Vaccines</strong></p>\n</td>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>BCG, OPV0 (OPV birth dose), Hep B (birth dose)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV1, Penta1, RVV1, fIPV1, PCV1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>10 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV2, Penta2, RVV2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV3, Penta3, RVV3, fIPV2, PCV2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>9 completed months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>MR1, JE1, PCV booster, fIPV3, vitamin A</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>MR2, JE2, OPV booster, DPT <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> 1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5-6 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>DPT <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> 2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>10 years</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Td</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Td</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is not a polysaccharide vaccine?", "options": [{"label": "A", "text": "Hep B", "correct": true}, {"label": "B", "text": "Pneumococcal", "correct": false}, {"label": "C", "text": "Meningococcal", "correct": false}, {"label": "D", "text": "Hib", "correct": false}], "correct_answer": "A. Hep B", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/p0lzzG68fRfU8EQfCN1q1718609378.png"], "explanation": "<p>Correct Option A - <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following statements about the rotavirus vaccine is incorrect?", "options": [{"label": "A", "text": "Given orally", "correct": false}, {"label": "B", "text": "Cannot be given after 6 months of age", "correct": true}, {"label": "C", "text": "Live vaccine", "correct": false}, {"label": "D", "text": "It has monovalent and pentavalent form", "correct": false}], "correct_answer": "B. Cannot be given after 6 months of age", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Giv\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 10-week-old baby has come for vaccination. The baby has had a previous history of inconsolable crying and fever (40 degrees C) after vaccination at 6 weeks. What should be the next step now?", "options": [{"label": "A", "text": "Don't give DT", "correct": false}, {"label": "B", "text": "Give DPT", "correct": true}, {"label": "C", "text": "Don't give DPT", "correct": false}, {"label": "D", "text": "Defer for 1 month", "correct": false}], "correct_answer": "B. Give DPT", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/kMU5inltsBEpnVhAtCH21745996552.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What is the schedule and route of administration of MR vaccine and vitamin A?", "options": [{"label": "A", "text": "MR vaccine administered subcutaneously along with oral vitamin A at 8 months", "correct": false}, {"label": "B", "text": "MR vaccine administered intramuscularly along oral vitamin A at 8 months", "correct": false}, {"label": "C", "text": "MR vaccine administered subcutaneously along with oral vitamin A at 9 months", "correct": true}, {"label": "D", "text": "MR vaccine administered intramuscularly along with oral vitamin A at 9 months", "correct": false}], "correct_answer": "C. MR vaccine administered subcutaneously along with oral vitamin A at 9 months", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:501px\">\n<thead>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Time</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vaccines</strong></p>\n</td>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>BCG, OPV0 (OPV birth dose), <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B (birth dose)</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV1, Penta1, RVV1, fIPV1, PCV1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>10 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV2, Penta2, RVV2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV3, Penta3, RVV3, fIPV2, PCV2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>9 completed months</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>MR1, JE1, <span class=\"customMeta\" data-dictid=\"fc17bf3e0b169277719482b6add142\">PCV</span> booster, fIPV3, vitamin A</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>MR2, JE2, <span class=\"customMeta\" data-dictid=\"cc8c7ae0a61692777194b170b3643c\">OPV</span> booster, <span class=\"customMeta\" data-dictid=\"d087911e3e1692777186e2859edb6b\">DPT</span> <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> 1</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5-6 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>DPT <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> 2</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>10 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Td</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>16 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Td</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:398px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Age</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vitamin A Dosage(Oral route)</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><6 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>50,000 IU</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>6 - 12 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>100,000 IU</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>9 months</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>100,000 IU</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>1-5 years (every 6 months)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>200,000 IU</p>\n</td>\n</tr>\n</tbody>\n</table>\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:704px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Route</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Dose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p><strong>Site</strong></p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Oral</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>OPV</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>2 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Rotavirus</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>5 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Intradermal</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>BCG</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.1 ml (0.05 ml until 1 month)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Left upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>fIPV</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.1 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"3\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Intramuscular</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Pentavalent (DPT, <span class=\"customMeta\" data-dictid=\"d3d938151416927771887e91804b5b\">Hep</span> B, Hib )</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Antero-lateral side of mid-thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>PCV</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Antero-lateral side of mid-thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Td</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Upper arm</p>\n</td>\n</tr>\n<tr>\n<td rowspan=\"2\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Subcutaneous</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>MR</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Right upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>JE</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Left upper arm</p>\n<p>Live vaccine via S.C</p>\n<p>Killed vaccine via I.M</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p><strong>Intranasal</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Influenza</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>0.2 mL (0.1 mL each nostril)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p>Nasopharynx</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In a 10-year-old school child, which of the following vaccines is given as a part of the school immunization program?", "options": [{"label": "A", "text": "Measles vaccine", "correct": false}, {"label": "B", "text": "Rotavirus vaccine", "correct": false}, {"label": "C", "text": "Td vaccine", "correct": true}, {"label": "D", "text": "Hepatitis B vaccine", "correct": false}], "correct_answer": "C. Td vaccine", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:724px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\">Vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\">Due age</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\">Dose</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\">Route</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top\">\n<p style=\"text-align: center;\">Site</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">BCG</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">< 1 month - 0.05 ml</p>\n<p style=\"text-align: center;\">> 1 month - 0.1 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intradermal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Left upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Hepatitis B</p>\n<p style=\"text-align: center;\"><strong>(Option D)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Anterolateral aspect of left <span class=\"customMeta\" data-dictid=\"75b57d54f21692777192dc01883ad1\">mid</span> thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">OPV -0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">At birth</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">OPV 1,2,3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">6, 10,14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Pentavalent 1,2,3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">6,10,14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Anterolateral aspect of left <span class=\"customMeta\" data-dictid=\"75b57d54f21692777192dc01883ad1\">mid</span> thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">IPV</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">6,14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.1 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intradermal</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Right upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Rotavirus</p>\n<p style=\"text-align: center;\"><strong>(Option B)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">6,10,14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">5 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Pneumococcal vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">6,14 weeks</p>\n<p style=\"text-align: center;\">At 9 completed months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Anterolateral aspect of right <span class=\"customMeta\" data-dictid=\"75b57d54f21692777192dc01883ad1\">mid</span> thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1st dose Measles/ Rubella</p>\n<p style=\"text-align: center;\"><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">At 9 completed months - 12 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Right upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1st dose JE</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">At 9 completed months - 12 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Left upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1st dose Vitamin A</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">At 9 completed months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">1 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">DPT- <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> 1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Anterolateral aspect of left <span class=\"customMeta\" data-dictid=\"75b57d54f21692777192dc01883ad1\">mid</span> thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2nd dose Measles/ Rubella</p>\n<p style=\"text-align: center;\"><strong>(Option A)</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Right upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">OPV booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2nd dose JE</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">16-24 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Left upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2nd-9th dose Vit A</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">At 16, then one dose every 6 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">2 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">DPT- <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> 2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">5-6 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">TT</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">10 years and 16 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Upper arm</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"5\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">For Pregnant women</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">TT-1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Early pregnancy</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">TT-2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">4 weeks following TT1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">TT booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">If mother has taken TT disease in pregnancy within the last 3 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top\">\n<p style=\"text-align: center;\">Upper arm</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which test is employed to assess freeze-induced damage in vaccines?", "options": [{"label": "A", "text": "Shake test", "correct": true}, {"label": "B", "text": "Schick test", "correct": false}, {"label": "C", "text": "Habel test", "correct": false}, {"label": "D", "text": "Tine test", "correct": false}], "correct_answer": "A. Shake test", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Shak\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following is a heat-sensitive indicator of vaccine viability?", "options": [{"label": "A", "text": "e-VIN", "correct": false}, {"label": "B", "text": "Freeze indicator", "correct": false}, {"label": "C", "text": "Vaccine vial monitor", "correct": true}, {"label": "D", "text": "Fridge indicator", "correct": false}], "correct_answer": "C. Vaccine vial monitor", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - Vaccine <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">vial</span&g\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "BCG vaccine provides protection against which of the following?", "options": [{"label": "A", "text": "Pulmonary TB", "correct": false}, {"label": "B", "text": "CNS and disseminated TB", "correct": true}, {"label": "C", "text": "Pulmonary and CNS TB", "correct": false}, {"label": "D", "text": "Pulmonary and skeletal TB", "correct": false}], "correct_answer": "B. CNS and disseminated TB", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - <span class=\"customMeta\" data-dictid=\"e1a4a12fb416927771841c46faf6fb\">CNS</span> and <span class=\"customMeta\" data-dictid=\"f4006059f916927771865569d4da7d\">disseminated</span> TB\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "As per the national immunization schedule, which vaccines are indicated at the first visit for immunization of a 13-month-old baby who has not been previously immunized?", "options": [{"label": "A", "text": "BCG, OPV 1st dose, Pentavalent 1st dose, Rota virus 1st dose", "correct": false}, {"label": "B", "text": "OPV 1st dose, Pentavalent 1st dose, Measles 1st dose", "correct": false}, {"label": "C", "text": "BCG, OPV 1st dose, Measles 1st dose", "correct": false}, {"label": "D", "text": "OPV 1st dose, DPT 1st dose, Measles 1st dose", "correct": true}], "correct_answer": "D. OPV 1st dose, DPT 1st dose, Measles 1st dose", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - <span class=\"customMeta\" data-dictid=\"cc8c7ae0a61692777194b170b3643c\">OPV</span> 1st dose, <span class=\"customMeta\" data-dictid=\"d087911e3e1692777186e2859edb6b\">DPT</span> 1st dose, <span class=\"customMeta\" data-dictid=\"7d2dc6a6df1692777192ccc6fd72b7\">Measles</span&g\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>Till 15 days</td>\n<td>Till 24 hrs</td>\n<td>Upto 1 year</td>\n<td>Upto 5 years</td>\n<td>Upto 7 years</td>\n<td>Upto 15 yrs</td>\n<td>\n<p>Lifelong</p>\n</td>\n</tr>\n<tr>\n<td>\n<ul>\n<li>OPV (birth dose)</li>\n</ul>\n</td>\n<td>Hep B (birth dose)</td>\n<td>\n<ul>\n<li>BCG</li>\n<li>Rotavirus</li>\n<li>Pentavalent</li>\n<li>fIPV</li>\n<li>PCV</li>\n<li>Hep B</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>OPV</li>\n<li>Measles</li>\n<li>MR</li>\n<li>Vit A drops</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>DPT</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>JE</li>\n</ul>\n</td>\n<td>\n<ul>\n<li>TD</li>\n</ul>\n</td>\n<td> </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A polysaccharide vaccine against Streptococcus pneumoniae has 23 serotypes. In which of the following patients is this vaccine most beneficial ?", "options": [{"label": "A", "text": "A child &lt; 2 years", "correct": false}, {"label": "B", "text": "A patient with sickle cell disease", "correct": true}, {"label": "C", "text": "A patient with cystic fibrosis", "correct": false}, {"label": "D", "text": "A patient with recurrent otitis media", "correct": false}], "correct_answer": "B. A patient with sickle cell disease", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - Sick\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What would be the appropriate treatment for a 5-year-old boy who had received a complete course of rabies vaccine in December 2018, but was bitten on the toe by his fully vaccinated pet dog in November 2019, resulting in bleeding at the bite site?", "options": [{"label": "A", "text": "No treatment", "correct": false}, {"label": "B", "text": "2 doses of vaccine on Day 0 &amp; 3", "correct": true}, {"label": "C", "text": "5 doses of vaccine with Immunoglobulin", "correct": false}, {"label": "D", "text": "5 doses of vaccine", "correct": false}], "correct_answer": "B. 2 doses of vaccine on Day 0 & 3", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - 2 doses of vaccine on Day 0 &amp; 3\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "At a PHC, vaccine storage is done in?", "options": [{"label": "A", "text": "Vaccine carrier", "correct": false}, {"label": "B", "text": "ILR", "correct": true}, {"label": "C", "text": "Walk in Cold rooms", "correct": false}, {"label": "D", "text": "Ice packs", "correct": false}], "correct_answer": "B. ILR", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/pJXqS0urlkgVq14PW2F71688451164.png"], "explanation": "<p>Correct Option B - Ice-Lined Refrigerator (ILR)\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "What should be the minimum interval between the administration of two live vaccines ?", "options": [{"label": "A", "text": "2 weeks", "correct": false}, {"label": "B", "text": "4 weeks", "correct": true}, {"label": "C", "text": "8 weeks", "correct": false}, {"label": "D", "text": "12 weeks", "correct": false}], "correct_answer": "B. 4 weeks", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option B - 4 week\n<table border=\"1\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\"> </td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Live Vaccines</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p style=\"text-align: center;\"><strong>Killed Vaccines</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Nature of the Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Contains a weakened or attenuated <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> of the <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Contains inactivated or killed versions of the <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Immune Response</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Stimulates a strong immune response, including both <span class=\"customMeta\" data-dictid=\"1a6d065f851692777189ba5533d1ef\">humoral</span> and <span class=\"customMeta\" data-dictid=\"12a6f23332169277718402ca6703e2\">cellular</span> immunity</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Stimulates a relatively weaker <span class=\"customMeta\" data-dictid=\"dc6add5cf91692777189b30a6bae38\">immune response</span> primarily involving <span class=\"customMeta\" data-dictid=\"1a6d065f851692777189ba5533d1ef\">humoral</span> immunity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Duration of Protection</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Usually provides long-lasting immunity</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>May require <span class=\"customMeta\" data-dictid=\"7725db2655169277718388f647e647\">booster</span> doses to maintain immunity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Vaccine Shedding</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>May shed the weakened <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> of the <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent, potentially causing mild illness in rare cases</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Does not shed the <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Vaccine Efficacy</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Generally higher <span class=\"customMeta\" data-dictid=\"7f80be61231692777187391e91e867\">efficacy</span> due to the <span class=\"customMeta\" data-dictid=\"3e05409f651692777197645882d8a2\">replication</span> of the weakened agent in the body</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Efficacy may be lower due to the absence of <span class=\"customMeta\" data-dictid=\"3e05409f651692777197645882d8a2\">replication</span> and <span class=\"customMeta\" data-dictid=\"10c83adb331692777197f775bec1aa\">reduced</span> immune response</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Risk of Reversion</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Small risk of <span class=\"customMeta\" data-dictid=\"2403264eee1692777197fd5c3caf46\">reversion</span> to a more <span class=\"customMeta\" data-dictid=\"417d56229b1692777202ce72999b28\">virulent</span> <span class=\"customMeta\" data-dictid=\"a1b06f401f1692777203a53393ba98\">form</span> of the <span class=\"customMeta\" data-dictid=\"aa279cf1f016927771903f195bb1b9\">infectious</span> agent</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>No risk of <span class=\"customMeta\" data-dictid=\"2403264eee1692777197fd5c3caf46\">reversion</span> to a more <span class=\"customMeta\" data-dictid=\"417d56229b1692777202ce72999b28\">virulent</span> form</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Measles, mumps, rubella, <span class=\"customMeta\" data-dictid=\"cf329b8cef169277720107b1efa15b\">varicella</span> (chickenpox), oral <span class=\"customMeta\" data-dictid=\"7b1b23cdec1692777196fb5ec9f3f5\">polio</span> vaccine, yellow fever, rotavirus</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black\">\n<p>Influenza (injectable), <span class=\"customMeta\" data-dictid=\"7b1b23cdec1692777196fb5ec9f3f5\">polio</span> (inactivated), <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">hepatitis</span> A, <span class=\"customMeta\" data-dictid=\"e407b4ecb9169277719549831239bb\">pertussis</span> (acellular), pneumococcal <span class=\"customMeta\" data-dictid=\"2421c657771692777185af1b7b59c3\">conjugate</span> vaccine</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which vaccine among the options provided is not recommended during pregnancy?", "options": [{"label": "A", "text": "Hepatitis A", "correct": false}, {"label": "B", "text": "Hepatitis B", "correct": false}, {"label": "C", "text": "Rabies", "correct": false}, {"label": "D", "text": "Varicella", "correct": true}], "correct_answer": "D. Varicella", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option D - <span class=\"customMeta\" data-dictid=\"cf329b8cef169277720107b1efa15b\">Varicella</span> (Chickenpox) v\n<table style=\"width:100%\">\n<tbody>\n<tr>\n<td><strong>Conditions</strong></td>\n<td><strong>Contraindications</strong></td>\n</tr>\n<tr>\n<td>Pregnancy</td>\n<td>\n<ul>\n<li>All live vaccines are contraindicated except yellow fever. </li>\n<li>In India, the yellow fever vaccine is not used due to the required storage temperature.</li>\n<li>Yellow fever is an exotic disease in India.</li>\n</ul>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "A 4-year-old male child developed with sore throat, difficulty in swallowing, and mild fever . On examination, the clinical picture shown below is seen. Which of the following sentences is false regarding the vaccine that could have prevented this condition?", "options": [{"label": "A", "text": "It is administered on the anterolateral aspect of the thigh.", "correct": false}, {"label": "B", "text": "A history of anaphylaxis with same vaccine is not a contraindication", "correct": true}, {"label": "C", "text": "The cellular pertussis component in the vaccine is not recommended after 7-years of age", "correct": false}, {"label": "D", "text": "The diphtheria toxoid dose in adults is much lesser than the pediatric dose", "correct": false}], "correct_answer": "B. A history of anaphylaxis with same vaccine is not a contraindication", "question_images": ["https://image.prepladder.com/content/qUcNwLR3zl8zbmbJ3H5c1691506490.png"], "explanation_images": [], "explanation": "<p>Correct Option B - A history of <span class=\"customMeta\" data-dictid=\"d6d717efa216927771819fee139235\">anaphylaxis</span> with the same v\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In the laboratory, a microbiologist is preparing the BCG vaccine. Which of the following substances is used as a diluent for the BCG vaccine?", "options": [{"label": "A", "text": "Normal saline", "correct": true}, {"label": "B", "text": "Distilled water", "correct": false}, {"label": "C", "text": "Dextrose", "correct": false}, {"label": "D", "text": "Colloids", "correct": false}], "correct_answer": "A. Normal saline", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - N\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "BCG is diluted with:", "options": [{"label": "A", "text": "Normal saline", "correct": true}, {"label": "B", "text": "Distilled water", "correct": false}, {"label": "C", "text": "Ringer lactate", "correct": false}, {"label": "D", "text": "Distilled water", "correct": false}], "correct_answer": "A. Normal saline", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - N\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "How long is the protection provided by the Yellow fever vaccine considered valid for?", "options": [{"label": "A", "text": "Life long", "correct": true}, {"label": "B", "text": "10 years", "correct": false}, {"label": "C", "text": "5 years", "correct": false}, {"label": "D", "text": "20 years", "correct": false}], "correct_answer": "A. Life long", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - Life long\n<table cellspacing=\"0\" style=\"border-collapse:collapse; width:576px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>17D vaccine-strain</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Storage</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>+5 to -30℃</li>\n<li>Yellow fever vaccine cannot be stored under cold chain temperature in India</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Type of vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<ul>\n<li>Reconstituted vaccine</li>\n<li>Should be kept on ice away from light</li>\n<li>Cold <span class=\"customMeta\" data-dictid=\"6c2c85ae6b16927771950809419a59\">physiological</span> <span class=\"customMeta\" data-dictid=\"894da1dfe6169277719871d7210619\">saline</span> <span class=\"customMeta\" data-dictid=\"6b7fed19e416927771860315097d8e\">diluent</span> is added</li>\n<li>Does not follow open <span class=\"customMeta\" data-dictid=\"cd235a18081692777202343e31b264\">vial</span> policy</li>\n<li>Should be used up to half an hour</li>\n</ul>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Route</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Subcutaneous</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Dose</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>0.5ml at <span class=\"customMeta\" data-dictid=\"c88a7c1a0116927771909b2463968d\">insertion</span> of deltoid</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Immunity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Immunity starts after 7-10 days and lasts lifelong</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In which of the following outbreaks is mass vaccination considered to be the most effective?", "options": [{"label": "A", "text": "Cholera", "correct": false}, {"label": "B", "text": "Typhoid", "correct": false}, {"label": "C", "text": "Polio", "correct": true}, {"label": "D", "text": "Whooping cough", "correct": false}], "correct_answer": "C. Polio", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - P\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "Which of the following vaccines are given at birth?", "options": [{"label": "A", "text": "Pentavalent, MR, HiB", "correct": false}, {"label": "B", "text": "BCG, OPV, MR", "correct": false}, {"label": "C", "text": "BCG, OPV, Hepatitis B", "correct": true}, {"label": "D", "text": "BCG, IP, Hepatitis B", "correct": false}], "correct_answer": "C. BCG, OPV, Hepatitis B", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option C - BCG, OPV, <span class=\"customMeta\" data-dictid=\"39867f177b16927771888cf43850d5\">Hepatitis</span> B\n<table>\n<tbody>\n<tr>\n<td><strong>6 Weeks</strong></td>\n<td><strong>10 Weeks</strong></td>\n<td><strong>14 weeks</strong></td>\n</tr>\n<tr>\n<td>DPT<sub>1</sub></td>\n<td>DPT<sub>2</sub></td>\n<td>DPT<sub>3</sub></td>\n</tr>\n<tr>\n<td>OPV<sub>1</sub></td>\n<td>OPV<sub>2</sub></td>\n<td>OPV<sub>3</sub></td>\n</tr>\n<tr>\n<td>Hep B<sub>1</sub></td>\n<td>Hep B<sub>2</sub></td>\n<td>Hep B<sub>3</sub></td>\n</tr>\n<tr>\n<td>HiB<sub>1</sub></td>\n<td>HiB<sub>2</sub></td>\n<td>HiB<sub>3</sub></td>\n</tr>\n<tr>\n<td>Rotavirus<sub>1</sub></td>\n<td>Rotavirus<sub>2</sub></td>\n<td>Rotavirus<sub>3</sub></td>\n</tr>\n<tr>\n<td>FIPV<sub>1</sub></td>\n<td> </td>\n<td>FIPV<sub>2</sub></td>\n</tr>\n</tbody>\n</table>\n<table>\n<tbody>\n<tr>\n<td><strong>5 Years</strong></td>\n<td><strong>10 years</strong></td>\n<td><strong>16 years</strong></td>\n</tr>\n<tr>\n<td>DPT<sub>8</sub></td>\n<td>TT</td>\n<td>TT</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "At what age is the first dose of hepatitis B vaccine given?", "options": [{"label": "A", "text": "Birth", "correct": true}, {"label": "B", "text": "6 weeks", "correct": false}, {"label": "C", "text": "10 weeks", "correct": false}, {"label": "D", "text": "6 months", "correct": false}], "correct_answer": "A. Birth", "question_images": [], "explanation_images": [], "explanation": "<p>Correct Option A - At Birth\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:1px solid black; vertical-align:top; width:123px\">\n<p style=\"text-align:center\"><strong>Vaccine</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top; width:123px\">\n<p style=\"text-align:center\"><strong>When to give</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top; width:123px\">\n<p style=\"text-align:center\"><strong>Dose</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top; width:123px\">\n<p style=\"text-align:center\"><strong>Route</strong></p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; vertical-align:top; width:123px\">\n<p style=\"text-align:center\"><strong>Site</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"5\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:616px\">\n<p><strong>For pregnant women</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>TT-1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Early in pregnancy</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>TT-2</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>4 weeks after T-1</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>TT-booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>If received 2 TT doses in a pregnancy within last 3 years*</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Upper arm</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"5\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:616px\">\n<p><strong>For infants</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>BCG</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>At birth or as early as possible till one year of age</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.1 ml (0.05ml till 1 <span class=\"customMeta\" data-dictid=\"d9b41e05751692777192bdc7627944\">moth</span> age)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intra dermal </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Left upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Hepatitis</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>At birth or as early possible within 24 hours</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intra muscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Antero <span class=\"customMeta\" data-dictid=\"fc380e21321692777191739bd99191\">lateral</span> side of mid-thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>OPV-0</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>At birth or as early as possible within 15 days</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>2 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>OPV-1, 2 & 3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>At 6 weeks, 10 weeks & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>2 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>DPT 1, 2 & 3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>At 6 weeks, 10 weeks & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Antero <span class=\"customMeta\" data-dictid=\"fc380e21321692777191739bd99191\">lateral</span> side mid-thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Hep B 1, 2 & 3</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>At 6 weeks, 10 weeks & 14 weeks</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intramuscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Antero <span class=\"customMeta\" data-dictid=\"fc380e21321692777191739bd99191\">lateral</span> side mid-thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Meals</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>9 completed month – 12 months</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Right upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Vitamin – A (1<sup>st</sup> dose)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>At 9 months with measles</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>1 ml (1 lakh IU)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"5\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:616px\">\n<p><strong>For Children </strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>DPT booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>16-24 month</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intra muscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Antero-lateral side of <span class=\"customMeta\" data-dictid=\"75b57d54f21692777192dc01883ad1\">mid</span> thigh</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Measles 2<sup>nd</sup> dose</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>16-24 month</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Right upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>OPV booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>16-24 month</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>2 drops</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Japanese encephalitis </p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>16-24 month</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Subcutaneous</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Left upper arm</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"5\" style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:616px\">\n<p><strong>Vitamin – A</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>(2<sup>nd</sup> to 9<sup>th</sup> dose)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>16 months then one dose every 6 month upto age of 5 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>2 ml (2 lakh IU)</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Oral</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>DPT booster</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>5-6 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intra muscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Upper arm</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>TT</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>10 years & 16 years</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>0.5 ml</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Intra muscular</p>\n</td>\n<td style=\"border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; vertical-align:top; width:123px\">\n<p>Upper arm</p>\n</td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}, {"text": "In how many days should the post exposure Measles vaccine be given?", "options": [{"label": "A", "text": "With in 7 days", "correct": false}, {"label": "B", "text": "With in 3 days", "correct": true}, {"label": "C", "text": "With in 1 days", "correct": false}, {"label": "D", "text": "With in 10 days", "correct": false}], "correct_answer": "B. With in 3 days", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 53 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">
Instructions
Test Features:
Multiple choice questions with single correct answers
Timer-based testing for realistic exam conditions
Mark questions for review functionality
Comprehensive results and performance analysis
Mobile-optimized interface for learning on-the-go
Start Test
<!-- Quiz Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="quiz"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <!-- Progress Bar --> <div class="w-full bg-gray-200 rounded-full h-3 mb-4"> <div class="progress-bar h-3 rounded-full" id="progress-bar" style="width: 0%"></div> </div> <!-- Question Header --> <div class="flex flex-col md:flex-row justify-between items-center mb-4"> <h2 class="text-lg font-semibold" id="question-number">Question <span>1</span> of 4</h2> <p class="text-lg font-semibold mt-2 md:mt-0" id="timer">Time Remaining: <span>00:00</span></p> </div> <!-- Question Content --> <div class="mb-6" id="question-content"> <p class="text-gray-800 mb-4" id="question-text"></p> <div class="flex flex-wrap gap-4 mb-4" id="question-images"></div> <div class="space-y-3" id="options"></div> </div> <!-- Navigation Buttons --> <div class="flex flex-col md:flex-row justify-between items-center gap-2 md:gap-4"> <div class="flex gap-2 w-full md:w-auto"> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="previous-btn">Previous</button> <button class="bg-[#2c5281] text-white px-4 py-3 w-full md:w-32 h-14 rounded-lg hover:bg-[#2c5281] transition" id="next-btn">Next</button> </div> <div class="flex items-center gap-2"> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="mark-review"> Review <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> <path d="M10 2a1 1 0 00-1 1v14l3.293-3.293a1 1 0 011.414 0L17 17V3a1 1 0 00-1-1H10z" /> </svg> </button> <button class="bg-transparent text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-100 transition flex items-center gap-1" id="nav-toggle"> Question 🧭 </button> <button class="bg-green-500 text-white px-6 py-3 w-44 h-14 rounded-lg hover:bg-green-600 transition w-full md:w-auto" id="submit-test">Submit Test</button> </div> </div> </section> <!-- Results Section --> <section class="container mx-auto px-4 md:px-6 pt-4 md:pt-6 pb-1 hidden section-transition" id="results"> <div class="bg-white rounded-lg shadow-md p-4 md:p-6"> <h2 class="text-2xl font-semibold mb-4">Anaesthesia Machine - Results</h2> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6"> <p><strong>Correct:</strong> <span id="correct-count" class="text-[#000000]">0</span></p> <p><strong>Wrong:</strong> <span id="wrong-count" class="text-[#000000]">0</span></p> <p><strong>Unanswered:</strong> <span id="unanswered-count" class="text-[#000000]-500">0</span></p> <p><strong>Marked for Review:</strong> <span id="marked-count" class="text-[#000000]">0</span></p> </div> <h3 class="text-lg font-semibold mb-4" id="result-question-number">Question <span>1</span> of 4</h3> <div class="space-y-6" id="results-content"></div> <div class="result-nav"> <button aria-label="Previous question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" disabled="" id="prev-result">Previous</button> <button aria-label="Toggle results navigation panel" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="results-nav-toggle">Result 🧭</button> <button aria-label="Next question result" class="result-nav-btn bg-[#2c5281] text-white px-6 py-2 rounded-lg hover:bg-[#2c5281] transition" id="next-result">Next</button> </div> <div class="mt-6 flex space-x-4 button-group md:flex-row flex-col"> <button class="bg-green-500 text-white px-6 py-2 rounded-lg hover:bg-green-600 transition" id="take-again">Take Again</button> </div> </div> </section> <!-- Exit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="exit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Leave Test?</h2> <p class="text-gray-700 mb-4">Your progress will be lost if you leave this page. Are you sure you want to exit?</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="continue-test">No, Continue</button> <button class="bg-red-500 text-white px-4 py-2 rounded-lg hover:bg-red-600 transition" id="exit-test">Yes, Exit</button> </div> </div> </div> <!-- Submit Confirmation Modal --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 hidden" id="submit-modal" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white rounded-lg p-6 max-w-sm w-full"> <h2 class="text-xl font-semibold mb-4">Confirm Submission</h2> <p class="text-gray-700 mb-2">You have attempted <span id="attempted-count">0</span> of 4 questions.</p> <p class="text-gray-700 mb-4"><span id="unattempted-count">0</span> questions are unattempted.</p> <div class="flex justify-end space-x-4"> <button class="bg-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:bg-gray-400 transition" id="cancel-submit">Cancel</button> <button class="text-white px-4 py-2 rounded-lg hover:bg-[#1a365d] transition" style="background-color: #2c5281;" id="confirm-submit">Submit Test</button> </div> </div> </div> <!-- Quiz Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 nav-panel hidden overflow-y-auto" id="nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Questions Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-nav">Close</button> </div> </div> <!-- Results Navigation Panel --> <div class="fixed inset-0 bg-black bg-opacity-50 flex items-start justify-center p-4 z-50 results-nav-panel hidden overflow-y-auto" id="results-nav-panel" style="align-items: flex-start; padding-top: 33vh;"> <div class="bg-white shadow-lg p-4 rounded-lg w-full max-w-2xl max-h-[80vh] overflow-y-auto"> <h2 class="text-lg font-semibold mb-4">Results Navigation</h2> <div class="mb-4"> <select class="w-full p-2 border rounded-lg text-gray-700" id="results-nav-filter"> <option value="all">All Questions</option> <option value="answered">Answered</option> <option value="unanswered">Unanswered</option> <option value="marked">Marked for Review</option> </select> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> </div> <div class="grid grid-cols-5 gap-2 md:gap-3" id="results-nav-grid"></div> <button class="mt-4 bg-gray-500 text-white px-4 py-2 rounded-lg hover:bg-gray-600 transition w-full" id="close-results-nav">Close</button> </div> <!-- JavaScript Logic --> <script> // Enable debug mode for detailed logging const DEBUG_MODE = true; // Log debug messages function debugLog(message) { if (DEBUG_MODE) { console.log(`[DEBUG] ${message}`); } } // Initialize questions with error handling let questions = []; let currentResultQuestion = 0; // State for current question in results try { debugLog("Attempting to parse questions_json"); questions = [{"text": "Which of the following is an example of a vaccine used as a secondary level of prevention?", "options": [{"label": "A", "text": "Hepatitis B vaccine", "correct": false}, {"label": "B", "text": "MMR (Measles, Mumps, Rubella) vaccine", "correct": false}, {"label": "C", "text": "BCG (Bacillus Calmette-Guérin) vaccine", "correct": true}, {"label": "D", "text": "Influenza vaccine", "correct": false}], "correct_answer": "C. BCG (Bacillus Calmette-Guérin) vaccine", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/re4dzaaSKfOpR88zqP8J1731312880.mp3", "video": ""}, {"text": "A 2-year-old child is brought by his mother. During the consultation, it is revealed that the child has not received any vaccinations since birth due to the family's geographical isolation and lack of access to healthcare services. The healthcare worker is concerned about the child’s susceptibility to vaccine-preventable diseases and advises immediate initiation of the vaccination schedule. Based on this scenario, how would you classify this child’s immunization status?", "options": [{"label": "A", "text": "Fully immunized", "correct": false}, {"label": "B", "text": "Completely immunized", "correct": false}, {"label": "C", "text": "Dropout", "correct": false}, {"label": "D", "text": "Left out", "correct": true}], "correct_answer": "D. Left out", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/di25KjLv3sOXvzuJm7U41731312970.mp3", "video": ""}, {"text": "Which of the following vaccines cannot be given to a pregnant woman?", "options": [{"label": "A", "text": "Rabies vaccine", "correct": false}, {"label": "B", "text": "IPV", "correct": false}, {"label": "C", "text": "Rotavirus vaccine", "correct": true}, {"label": "D", "text": "Kyasanur Forest Disease Vaccine", "correct": false}], "correct_answer": "C. Rotavirus vaccine", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:640px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Live Vaccines</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Killed Vaccines</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Injected in live, attenuated (weakened) form</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Injected in killed form</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>A single dose is sufficient (except OPV)</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Multiple doses are needed</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Longer duration of immunity</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Shorter duration of immunity</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Contraindicated in pregnancy, radiation therapy, and severe <span class=\"customMeta\" data-dictid=\"509310d4411692777199f2ffdb7769\">symptomatic</span> immunodeficiency.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>It can be given during pregnancy</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><u>Examples: </u></p>\n<p>Mnemonic - I love Chick EMBRYO</p>\n<p>Live Influenza, <span class=\"customMeta\" data-dictid=\"d5b9e7187c16927771847488b5f135\">Chickenpox</span> (Varicella), Live JE vaccine, MR, BCG, Rotavirus, Yellow fever virus, OPV.</p>\n<p>Others: Live <span class=\"customMeta\" data-dictid=\"8ed8a7d3381692777195ca51ab7b1f\">plague</span> vaccine</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><u>Examples:</u></p>\n<p>Mnemonic: KILLED</p>\n<p>KFD, IPV, Killed Influenza, Japanese <span class=\"customMeta\" data-dictid=\"9644652a1f16927771873765457fcc\">Encephalitis</span> (Killed), Dog bite-Rabies</p>\n<p>Others · Killed <span class=\"customMeta\" data-dictid=\"8ed8a7d3381692777195ca51ab7b1f\">Plague</span> vaccine · Killed <span class=\"customMeta\" data-dictid=\"5a7131fc701692777184f7da847192\">cholera</span> vaccine</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reversion to <span class=\"customMeta\" data-dictid=\"d325b5afd71692777202405d5f5c59\">virulence</span> is possible.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Reversion to <span class=\"customMeta\" data-dictid=\"d325b5afd71692777202405d5f5c59\">virulence</span> is not possible.</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Tph519qsrOlPVTtkVV7z1731313038.mp3", "video": ""}, {"text": "Which of the following statements is wrong with regard to administration of two live vaccines?", "options": [{"label": "A", "text": "Do not administer both vaccines at the same site simultaneously.", "correct": false}, {"label": "B", "text": "Administer both vaccines at different sites simultaneously.", "correct": false}, {"label": "C", "text": "Administer both vaccines with a minimum interval of 3 weeks.", "correct": false}, {"label": "D", "text": "Administer both vaccines with a minimum interval of 2 weeks.", "correct": true}], "correct_answer": "D. Administer both vaccines with a minimum interval of 2 weeks.", "question_images": [], "explanation_images": [], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/liUUdPYUlBcmYQOCN58y1731313189.mp3", "video": ""}, {"text": "Which of the following statements is true about polysaccharide vaccines?", "options": [{"label": "A", "text": "They are often combined with a toxoid component to enhance the immune response against toxins produced by bacteria.", "correct": false}, {"label": "B", "text": "Multiple immunizing agents are included in the vaccine.", "correct": false}, {"label": "C", "text": "More effective in children &lt; 2 years", "correct": false}, {"label": "D", "text": "Polysaccharide based vaccines are available against S.pneumoniae, H.influenza b", "correct": true}], "correct_answer": "D. Polysaccharide based vaccines are available against S.pneumoniae, H.influenza b", "question_images": [], "explanation_images": [], "explanation": "<table align=\"center\" cellspacing=\"0\" style=\"border-collapse:collapse; width:521px\">\n<tbody>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccine and Mechanism</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Examples</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Advantage / Disadvantage</strong></p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Toxoid</strong></p>\n<p>(Option A)</p>\n<p>Exotoxins produced by live organisms are used</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Diphtheria, Tetanus, Anthrax</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Highly efficacious</p>\n<p>Highly safe</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Protein vaccine</strong></p>\n<p>Specific proteins or peptides from the pathogen</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Influenza vaccine (hemagglutinin and Neuraminidase), <span class=\"customMeta\" data-dictid=\"adb93c1540169277718043552b7de2\">Acellular</span> <span class=\"customMeta\" data-dictid=\"e407b4ecb9169277719549831239bb\">pertussis</span> vaccine.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Less immunogenic</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Conjugate vaccine</strong></p>\n<p>Polysaccharide <span class=\"customMeta\" data-dictid=\"782b31281a1692777181708484c1d1\">antigen</span> chemically <span class=\"customMeta\" data-dictid=\"8d0fca798b1692777191b6cd41880f\">linked</span> to a protein recognized by Tcells.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pneumococcal <span class=\"customMeta\" data-dictid=\"2421c657771692777185af1b7b59c3\">conjugate</span> vaccine - <span class=\"customMeta\" data-dictid=\"fc17bf3e0b169277719482b6add142\">PCV</span> (used in NIS), Meningococcal.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Adv: More effective in children < 2 years <strong>(Option C)</strong></p>\n<p>D/A: <span class=\"customMeta\" data-dictid=\"65731fcbaf1692777198547abcf08e\">Serotype</span> specific</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Recombinant Vaccine</strong></p>\n<p>Prepared by DNA technology.</p>\n<p>Antigens are expressed on E. coli, yeast, and mammalian cells.</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hepatitis B, HPV, <span class=\"customMeta\" data-dictid=\"5a7131fc701692777184f7da847192\">Cholera</span> <span class=\"customMeta\" data-dictid=\"41329dc9381692777200a9b6d57cf4\">toxin</span> B, Lyme disease</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Adv: Safe</p>\n<p>D/A: Less <span class=\"customMeta\" data-dictid=\"b3c8b5ea2e169277718969e2c05fae\">immunogenic</span> and need an <span class=\"customMeta\" data-dictid=\"1a38e9a3321692777180b2468ff799\">adjuvant</span> to enhance efficiency</p>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Combination Vaccine</strong></p>\n<p>(Option B)</p>\n<p>More than one immunizing agent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>MMR, DPT, Pentavalent</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Overall reduction in adverse effects due to combination</p>\n</td>\n</tr>\n</tbody>\n\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/clx537rrPWNl4T1p2nFe1731314291.mp3", "video": ""}, {"text": "Which of the following statements is FALSE regarding the contraindications of vaccines?", "options": [{"label": "A", "text": "Yellow fever vaccine can be given to pregnant women", "correct": false}, {"label": "B", "text": "DPT Vaccine is unsafe in children with Spina bifida", "correct": true}, {"label": "C", "text": "All live vaccines are contraindicated in patients on corticosteroids", "correct": false}, {"label": "D", "text": "All vaccines except MMR, measles, rubella &amp; varicella are contraindicated in adults with symptomatic HIV", "correct": false}], "correct_answer": "B. DPT Vaccine is unsafe in children with Spina bifida", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/deBPCOiacC2EkrAjTYdq1725435375.png"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/gtAD6V4KpBExJnkpXqEB1731315137.mp3", "video": ""}, {"text": "A 7 y/o girl is brought to a makeshift medical camp that was set up following a massive earthquake 3 days ago. She has no prior history of vaccinations. The child was exposed to a confirmed case of measles two days ago. Which of the following would be your next step in helping the child?", "options": [{"label": "A", "text": "Administer the measles vaccine immediately.", "correct": true}, {"label": "B", "text": "Administer typhoid and cholera vaccines first.", "correct": false}, {"label": "C", "text": "Administer OPV.", "correct": false}, {"label": "D", "text": "No vaccines are necessary at this time.", "correct": false}], "correct_answer": "A. Administer the measles vaccine immediately.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/5NUO8323TiwRhdAxZhdW1725435583.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/BSznvycAFpunBTG2X0vY1731315423.mp3", "video": ""}, {"text": "Match the following vaccines with their well-known side effects: Vaccine Side effect a. Rotavirus 1. Inconsolable cry &amp; convulsions b. BCG 2. Toxic Shock Syndrome c. Measles 3. Scar d. Pertussis 4. Intussusception", "options": [{"label": "A", "text": "a-2, b-3,c-4, d-1", "correct": false}, {"label": "B", "text": "a-2, b-1, c-3, d-4", "correct": false}, {"label": "C", "text": "a-3, b-4, c-1,d-2", "correct": false}, {"label": "D", "text": "a-4, b-3, c-2, d-1", "correct": true}], "correct_answer": "D. a-4, b-3, c-2, d-1", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/uruRb9jnUIRdYznaL3bM1725435793.jpg", "https://image.prepladder.com/content/N2GyRvG0qbYjIeupy3jY1725435856.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Unln8zDXSjsVIVuorSXr1731315731.mp3", "video": ""}, {"text": "Which of the following is the diluent used for the Measles Rubella vaccine?", "options": [{"label": "A", "text": "Normal Saline", "correct": false}, {"label": "B", "text": "Phosphate Buffer Solution", "correct": false}, {"label": "C", "text": "Distilled water/ Sterile Water", "correct": true}, {"label": "D", "text": "Cold Physiological saline", "correct": false}], "correct_answer": "C. Distilled water/ Sterile Water", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/kJYf2bZwwLhpST1VSUG81725436022.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/Ns6PVT29akvrfNuGClIx1731315926.mp3", "video": ""}, {"text": "You have been posted in a rural PHC where you just received a new batch of vaccines for the upcoming vaccination drive. You need to educate your team on the conditions that have to be fulfilled in order to reuse opened vaccine vials during the drive. Which of the following would you not suggest regarding the same?", "options": [{"label": "A", "text": "The Vaccine Vial monitor has not reached the discard point.", "correct": false}, {"label": "B", "text": "An aseptic technique must be used to withdraw all doses.", "correct": false}, {"label": "C", "text": "Vaccines are stored strictly under an appropriate temperature (+6° C to +10° C) range during transportation and storage at cold chain point.", "correct": true}, {"label": "D", "text": "The expiry date should not have passed.", "correct": false}], "correct_answer": "C. Vaccines are stored strictly under an appropriate temperature (+6° C to +10° C) range during transportation and storage at cold chain point.", "question_images": [], "explanation_images": [], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/YsSWXznN4EMeX4YQWciS1731316084.mp3", "video": ""}, {"text": "Which of the following statements is true based on thermolability of vaccines?", "options": [{"label": "A", "text": "The most heat-sensitive vaccine is Hepatitis B.", "correct": false}, {"label": "B", "text": "The most freeze-sensitive vaccine is Pentavalent.", "correct": false}, {"label": "C", "text": "The loss of potency of vaccines due to exposure to heat or cold is permanent and cannot be regained.", "correct": true}, {"label": "D", "text": "The physical appearance of a damaged vaccine always changes.", "correct": false}], "correct_answer": "C. The loss of potency of vaccines due to exposure to heat or cold is permanent and cannot be regained.", "question_images": [], "explanation_images": [], "explanation": "<table cellspacing=\"0\" style=\"border-collapse:collapse; width:624px\">\n<tbody>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccines Sensitive to Heat</strong></p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p><strong>Vaccines Sensitive to Freezing</strong></p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>OPV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Hepatitis B</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>IPV</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Pentavalent</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Measles, MR</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>IPV</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>Rota</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>DPT</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>JE</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>DT</p>\n</td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>DPT</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>BCG</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n<tr>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\">\n<p>TT</p>\n</td>\n<td style=\"border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; vertical-align:top\"> </td>\n</tr>\n</tbody>\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/jBThdEpOPIJcgteE8dTg1731316374.mp3", "video": ""}, {"text": "Which of the following statements about the Vaccine Vial Monitor (VVM) is incorrect?", "options": [{"label": "A", "text": "The VVM is a heat-sensitive chemical indicator placed on the body of the vial, neck of the ampule, or cap of the vial.", "correct": false}, {"label": "B", "text": "The VVM records cumulative heat exposure of the vaccines through a gradual change in color.", "correct": false}, {"label": "C", "text": "If the inner square of the VVM is darker than the outer circle, the vaccine can still be used.", "correct": true}, {"label": "D", "text": "The VVM number is the time in days for the inner square to reach the colour indicating a discard point, if the vial is exposed to a constant temperature of 37°C.", "correct": false}], "correct_answer": "C. If the inner square of the VVM is darker than the outer circle, the vaccine can still be used.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/SeRR9KVKJRO7QdOPCUYU1725436408.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/tswiEqNTo7XnHVIrvgPN1731316574.mp3", "video": ""}, {"text": "Which of the following steps is incorrect when conducting a shake test to check for vaccine vial damage due to freezing?", "options": [{"label": "A", "text": "Take a vaccine vial you suspect may have been frozen and label it as the \"Test\" vial.", "correct": false}, {"label": "B", "text": "Freeze a control vial of the same antigen, manufacturer, and batch number at -20°C overnight, and label it as the \"Frozen control vial.\"", "correct": false}, {"label": "C", "text": "Thaw the \"Frozen control vial\" by heating it gently.", "correct": true}, {"label": "D", "text": "Shake both the \"Test\" vial and the \"Frozen control vial\" together for 10-15 seconds, then place them side-by-side on a flat surface to observe sedimentation.", "correct": false}], "correct_answer": "C. Thaw the \"Frozen control vial\" by heating it gently.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/RUnibMUF5FvLSe5zc8mh1725436530.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/wPv8xSzzAq4raQV0tMcr1731316807.mp3", "video": ""}, {"text": "Which of the following diseases is not part of the Pan-India diseases covered under Mission Indradhanush?", "options": [{"label": "A", "text": "Extra-pulmonary tuberculosis", "correct": false}, {"label": "B", "text": "Polio", "correct": false}, {"label": "C", "text": "Rotavirus diarrhea", "correct": false}, {"label": "D", "text": "Japanese encephalitis", "correct": true}], "correct_answer": "D. Japanese encephalitis", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/IgYkMf8bKcA47PoMy8Yb1728539823.png", "https://image.prepladder.com/content/b39yfveicjSpcIdBuhng1725436663.jpg"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/DFYiAeJIybRkBwhOnOwu1731317059.mp3", "video": ""}, {"text": "Which of the following is not included in the IT initiatives under Mission Indradhanush?", "options": [{"label": "A", "text": "eVIN (Electronic Vaccine Intelligence Network)", "correct": false}, {"label": "B", "text": "ANMOL (Auxiliary Nurse Midwife Online)", "correct": false}, {"label": "C", "text": "SAFE-VAC (Surveillance and Actions for Events following Vaccination)", "correct": false}, {"label": "D", "text": "AEFI (Adverse Event Following Immunization)", "correct": true}], "correct_answer": "D. AEFI (Adverse Event Following Immunization)", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/EtftWCMuGT6mhtWA3fBv1725436880.png", "https://image.prepladder.com/content/Lmv8Mh0IiHgSDAc3Ib711725436923.png"], "explanation": "\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/9xtoc1NhTsulQ5hgWhtY1731317236.mp3", "video": ""}, {"text": "Which of the following statements is TRUE regarding the \"Switch\" from tOPV to bOPV in India?", "options": [{"label": "A", "text": "The switch included the removal of wpv1 from the vaccine formulation.", "correct": false}, {"label": "B", "text": "The reason for the switch was the eradication of wpv3 in September 2015.", "correct": false}, {"label": "C", "text": "bOPV contains attenuated forms of wpv1 and wpv3.", "correct": true}, {"label": "D", "text": "IPV was introduced after the switch to compensate for the removal of wpv2 from the vaccine.", "correct": false}], "correct_answer": "C. bOPV contains attenuated forms of wpv1 and wpv3.", "question_images": [], "explanation_images": ["https://image.prepladder.com/content/YA3YCW3xKjsRo55DKtvI1725437094.jpg"], "explanation": "\n\n\n<p style='font-size: 10px; color: #808080; font-style: italic;'>@dams_new_robot</p>", "bot": "@dams_new_robot", "audio": "https://image.prepladder.com/content/s6rzjslSq4OkopnAFp8i1731317447.mp3", "video": ""}]; if (!Array.isArray(questions) || questions.length === 0) { throw new Error("Questions data is empty or invalid"); } debugLog(`Successfully parsed ${questions.length} questions`); } catch (e) { console.error("Failed to parse questions_json:", e); document.getElementById('error-message').innerHTML = "Error loading quiz data. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; // Fallback to sample questions for testing questions = [ { text: "What is 2 + 2?", options: [ { label: "A", text: "3", correct: false }, { label: "B", text: "4", correct: true }, { label: "C", text: "5", correct: false }, { label: "D", text: "6", correct: false } ], correct_answer: "B. 4", question_images: [], explanation_images: [], explanation: "<p>2 + 2 = 4</p><p>@dams_new_robot</p>", bot: "@dams_new_robot", audio: "", video: "" } ]; debugLog("Loaded fallback questions"); } // Quiz state let currentQuestion = 0; let answers = new Array(questions.length).fill(null); let markedForReview = new Array(questions.length).fill(false); let timeRemaining = 26 * 60; // Duration in seconds let timerInterval = null; const quizId = `{title.replace(/\s+/g, '_').toLowerCase()}`; // Unique ID for local storage // Load saved progress function loadProgress() { try { debugLog("Loading progress from localStorage"); const saved = localStorage.getItem(`quiz_${quizId}`); if (saved) { const { savedAnswers, savedMarked, savedTime } = JSON.parse(saved); answers = savedAnswers || answers; markedForReview = savedMarked || markedForReview; timeRemaining = savedTime !== undefined ? savedTime : timeRemaining; debugLog("Progress loaded successfully"); } else { debugLog("No saved progress found"); } } catch (e) { console.error("Error loading progress:", e); debugLog("Failed to load progress: " + e.message); } } // Save progress function saveProgress() { try { debugLog("Saving progress to localStorage"); localStorage.setItem(`quiz_${quizId}`, JSON.stringify({ savedAnswers: answers, savedMarked: markedForReview, savedTime: timeRemaining })); debugLog("Progress saved successfully"); } catch (e) { console.error("Error saving progress:", e); debugLog("Failed to save progress: " + e.message); } } // Initialize quiz function initQuiz() { try { debugLog("Initializing quiz"); loadProgress(); const startButton = document.getElementById('start-test'); if (!startButton) { throw new Error("Start test button not found"); } startButton.addEventListener('click', startQuiz); debugLog("Start test button listener attached"); document.getElementById('previous-btn').addEventListener('click', showPreviousQuestion); document.getElementById('next-btn').addEventListener('click', showNextQuestion); document.getElementById('mark-review').addEventListener('click', toggleMarkForReview); document.getElementById('nav-toggle').addEventListener('click', toggleNavPanel); document.getElementById('submit-test').addEventListener('click', showSubmitModal); document.getElementById('continue-test').addEventListener('click', closeExitModal); document.getElementById('exit-test').addEventListener('click', () => { debugLog("Exiting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('cancel-submit').addEventListener('click', closeSubmitModal); document.getElementById('confirm-submit').addEventListener('click', submitTest); document.getElementById('take-again').addEventListener('click', () => { debugLog("Restarting test"); localStorage.removeItem(`quiz_${quizId}`); window.location.reload(); }); document.getElementById('review-test').addEventListener('click', () => showResults(currentResultQuestion)); document.getElementById('close-nav').addEventListener('click', toggleNavPanel); document.getElementById('theme-toggle').addEventListener('click', toggleTheme); document.getElementById('nav-filter').addEventListener('change', updateNavPanel); document.getElementById('prev-result').addEventListener('click', showPreviousResult); document.getElementById('next-result').addEventListener('click', showNextResult); document.getElementById('results-nav-toggle').addEventListener('click', toggleResultsNavPanel); document.getElementById('close-results-nav').addEventListener('click', toggleResultsNavPanel); document.getElementById('results-nav-filter').addEventListener('change', updateResultsNavPanel); debugLog("Quiz initialized successfully"); } catch (e) { console.error("Failed to initialize quiz:", e); debugLog("Failed to initialize quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('start-test').disabled = true; } } // Start quiz function startQuiz() { try { debugLog("Starting quiz"); document.getElementById('instructions').classList.add('hidden'); document.getElementById('quiz').classList.remove('hidden'); showQuestion(currentQuestion); startTimer(); updateNavPanel(); debugLog("Quiz started successfully"); } catch (e) { console.error("Error starting quiz:", e); debugLog("Failed to start quiz: " + e.message); document.getElementById('error-message').innerHTML = "Error starting quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); document.getElementById('quiz').classList.add('hidden'); document.getElementById('instructions').classList.remove('hidden'); } } // Show question function showQuestion(index) { try { debugLog(`Showing question ${index + 1}`); currentQuestion = index; const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } document.getElementById('question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('question-text').innerHTML = q.text || "No question text available"; const imagesDiv = document.getElementById('question-images'); imagesDiv.innerHTML = q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg">`).join('') : ''; const optionsDiv = document.getElementById('options'); optionsDiv.innerHTML = q.options && q.options.length > 0 ? q.options.map(opt => ` <button class="option-btn w-full text-left p-3 border rounded-lg ${answers[index] === opt.label ? 'selected' : ''}" onclick="selectOption(${index}, '${opt.label}')" aria-label="Option ${opt.label}: ${opt.text}"> ${opt.label}. ${opt.text} </button> `).join('') : '<p class="text-red-500">No options available</p>'; document.getElementById('previous-btn').disabled = index === 0; document.getElementById('next-btn').disabled = index === questions.length - 1; document.getElementById('mark-review').classList.toggle('marked', markedForReview[index]); updateProgressBar(); saveProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying question:", e); debugLog("Failed to display question: " + e.message); } } // Select option function selectOption(index, label) { try { debugLog(`Selecting option ${label} for question ${index + 1}`); answers[index] = label; const optionsDiv = document.getElementById('options'); const optionButtons = optionsDiv.querySelectorAll('.option-btn'); optionButtons.forEach(btn => { const btnLabel = btn.textContent.trim().split('.')[0]; btn.classList.toggle('selected', btnLabel === label); }); updateNavPanel(); saveProgress(); debugLog(`Option ${label} selected for question ${index + 1}`); } catch (e) { console.error("Error selecting option:", e); debugLog("Failed to select option: " + e.message); } } // Toggle mark for review function toggleMarkForReview() { try { debugLog(`Toggling mark for review on question ${currentQuestion + 1}`); markedForReview[currentQuestion] = !markedForReview[currentQuestion]; document.getElementById('mark-review').classList.toggle('marked', markedForReview[currentQuestion]); updateNavPanel(); saveProgress(); debugLog(`Mark for review toggled for question ${currentQuestion + 1}`); } catch (e) { console.error("Error marking for review:", e); debugLog("Failed to mark for review: " + e.message); } } // Navigate to previous question function showPreviousQuestion() { try { debugLog(`Navigating to previous question from ${currentQuestion + 1}`); if (currentQuestion > 0) { currentQuestion--; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to previous question:", e); debugLog("Failed to navigate to previous question: " + e.message); } } // Navigate to next question function showNextQuestion() { try { debugLog(`Navigating to next question from ${currentQuestion + 1}`); if (currentQuestion < questions.length - 1) { currentQuestion++; showQuestion(currentQuestion); } } catch (e) { console.error("Error navigating to next question:", e); debugLog("Failed to navigate to next question: " + e.message); } } // Handle question navigation click function handleQuestionNavClick(index) { try { debugLog(`Navigating to question ${index + 1} via nav panel`); showQuestion(index); toggleNavPanel(); } catch (e) { console.error("Error handling navigation click:", e); debugLog("Failed to navigate via nav panel: " + e.message); } } // Start timer function startTimer() { try { debugLog("Starting timer"); timerInterval = setInterval(() => { if (timeRemaining <= 0) { debugLog("Timer expired, submitting test"); clearInterval(timerInterval); submitTest(); } else { timeRemaining--; const minutes = Math.floor(timeRemaining / 60); const seconds = timeRemaining % 60; document.getElementById('timer').innerHTML = `Time Remaining: <span>${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}</span>`; saveProgress(); } }, 1000); debugLog("Timer started successfully"); } catch (e) { console.error("Error starting timer:", e); debugLog("Failed to start timer: " + e.message); } } // Update progress bar function updateProgressBar() { try { debugLog("Updating progress bar"); const progress = ((currentQuestion + 1) / questions.length) * 100; document.getElementById('progress-bar').style.width = `${progress}%`; debugLog("Progress bar updated"); } catch (e) { console.error("Error updating progress bar:", e); debugLog("Failed to update progress bar: " + e.message); } } // Update quiz navigation panel function updateNavPanel() { try { debugLog("Updating quiz navigation panel"); const filter = document.getElementById('nav-filter').value; const navGrid = document.getElementById('nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="question-nav-btn ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleQuestionNavClick(${i})" aria-label="Go to Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Quiz navigation panel updated"); } catch (e) { console.error("Error updating quiz navigation panel:", e); debugLog("Failed to update quiz navigation panel: " + e.message); } } // Update results navigation panel function updateResultsNavPanel() { try { debugLog("Updating results navigation panel"); const filter = document.getElementById('results-nav-filter').value; const navGrid = document.getElementById('results-nav-grid'); navGrid.innerHTML = questions.map((_, i) => { if (filter === 'answered' && !answers[i]) return ''; if (filter === 'unanswered' && answers[i]) return ''; if (filter === 'marked' && !markedForReview[i]) return ''; return ` <button class="result-nav-btn-grid ${answers[i] ? 'answered' : 'unanswered'} ${markedForReview[i] ? 'marked-nav' : ''}" onclick="handleResultNavClick(${i})" aria-label="Go to Result for Question ${i + 1}"> ${i + 1} </button> `; }).join(''); debugLog("Results navigation panel updated"); } catch (e) { console.error("Error updating results navigation panel:", e); debugLog("Failed to update results navigation panel: " + e.message); } } // Toggle quiz navigation panel function toggleNavPanel() { try { debugLog("Toggling quiz navigation panel"); const navPanel = document.getElementById('nav-panel'); navPanel.classList.toggle('hidden'); debugLog("Quiz navigation panel toggled"); } catch (e) { console.error("Error toggling quiz navigation panel:", e); debugLog("Failed to toggle quiz navigation panel: " + e.message); } } // Toggle results navigation panel function toggleResultsNavPanel() { try { debugLog("Toggling results navigation panel"); const resultsNavPanel = document.getElementById('results-nav-panel'); resultsNavPanel.classList.toggle('hidden'); if (!resultsNavPanel.classList.contains('hidden')) { updateResultsNavPanel(); } debugLog("Results navigation panel toggled"); } catch (e) { console.error("Error toggling results navigation panel:", e); debugLog("Failed to toggle results navigation panel: " + e.message); } } // Handle result navigation click function handleResultNavClick(index) { try { debugLog(`Navigating to result for question ${index + 1} via nav panel`); showResults(index); toggleResultsNavPanel(); } catch (e) { console.error("Error handling result navigation click:", e); debugLog("Failed to navigate to result: " + e.message); } } // Show submit modal function showSubmitModal() { try { debugLog("Showing submit modal"); const attempted = answers.filter(a => a !== null).length; document.getElementById('attempted-count').textContent = attempted; document.getElementById('unattempted-count').textContent = questions.length - attempted; document.getElementById('submit-modal').classList.remove('hidden'); debugLog("Submit modal displayed"); } catch (e) { console.error("Error showing submit modal:", e); debugLog("Failed to show submit modal: " + e.message); } } // Close submit modal function closeSubmitModal() { try { debugLog("Closing submit modal"); document.getElementById('submit-modal').classList.add('hidden'); debugLog("Submit modal closed"); } catch (e) { console.error("Error closing submit modal:", e); debugLog("Failed to close submit modal: " + e.message); } } // Close exit modal function closeExitModal() { try { debugLog("Closing exit modal"); document.getElementById('exit-modal').classList.add('hidden'); debugLog("Exit modal closed"); } catch (e) { console.error("Error closing exit modal:", e); debugLog("Failed to close exit modal: " + e.message); } } // Submit test function submitTest() { try { debugLog("Submitting test"); clearInterval(timerInterval); document.getElementById('quiz').classList.add('hidden'); document.getElementById('submit-modal').classList.add('hidden'); document.getElementById('results').classList.remove('hidden'); showResults(0); // Start with first question // Trigger confetti animation confetti({ particleCount: 100, spread: 70, origin: { y: 0.6 } }); localStorage.removeItem(`quiz_${quizId}`); debugLog("Test submitted successfully"); } catch (e) { console.error("Error submitting test:", e); debugLog("Failed to submit test: " + e.message); } } // Show result for a single question function showResults(index) { try { debugLog(`Showing result for question ${index + 1}`); currentResultQuestion = index; let correct = 0, wrong = 0, unanswered = 0, marked = 0; answers.forEach((answer, i) => { const isCorrect = answer && questions[i].options.find(opt => opt.label === answer)?.correct; if (answer === null) unanswered++; else if (isCorrect) correct++; else wrong++; if (markedForReview[i]) marked++; }); const q = questions[index]; if (!q) { throw new Error(`Question ${index} is undefined`); } const userAnswer = answers[index]; const isCorrect = userAnswer && q.options.find(opt => opt.label === userAnswer)?.correct; const resultsContent = document.getElementById('results-content'); resultsContent.innerHTML = ` <div class="border p-4 rounded-lg ${isCorrect ? 'bg-green-50' : userAnswer ? 'bg-red-50' : 'bg-gray-50'}"> <p class="font-semibold">Question ${index + 1}: ${q.text || 'No question text'}</p> ${q.question_images && q.question_images.length > 0 ? q.question_images.map(url => `<img src="${url}" alt="Question Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} <p><strong>Your Answer:</strong> ${userAnswer ? `${userAnswer}. ${q.options.find(opt => opt.label === userAnswer)?.text || 'Invalid option'}` : 'Unanswered'}</p> <p><strong>Correct Answer:</strong> ${q.correct_answer || 'Unknown'}</p> <div class="mt-2">${q.explanation || 'No explanation available'}</div> ${q.explanation_images && q.explanation_images.length > 0 ? q.explanation_images.map(url => `<img src="${url}" alt="Explanation Image" class="max-w-full h-auto rounded-lg my-2">`).join('') : ''} ${q.video ? ` <button class="play-video bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadVideo(this, '${q.video}', 'video-${index}')" aria-label="Play explanation video for Question ${index + 1}"> Play Video Explanation </button> <div id="video-${index}" class="video-container mt-2"></div> ` : '<p class="text-gray-500 mt-2">No video available</p>'} ${q.audio ? ` <button class="play-audio bg-blue-500 text-white px-4 py-2 rounded-lg mt-2" onclick="loadAudio(this, '${q.audio}', 'audio-${index}')" aria-label="Play audio explanation for Question ${index + 1}"> Play Audio Explanation </button> <div id="audio-${index}" class="audio-container mt-2"></div> ` : ''} </div> `; document.getElementById('correct-count').textContent = correct; document.getElementById('wrong-count').textContent = wrong; document.getElementById('unanswered-count').textContent = unanswered; document.getElementById('marked-count').textContent = marked; document.getElementById('result-question-number').innerHTML = `Question <span>${index + 1}</span> of ${questions.length}`; document.getElementById('prev-result').disabled = index === 0; document.getElementById('next-result').disabled = index === questions.length - 1; updateResultsNavPanel(); window.scrollTo({ top: 0, behavior: 'smooth' }); debugLog(`Result for question ${index + 1} displayed successfully`); } catch (e) { console.error("Error displaying result:", e); debugLog("Failed to display result: " + e.message); } } // Navigate to previous result function showPreviousResult() { try { debugLog(`Navigating to previous result from question ${currentResultQuestion + 1}`); if (currentResultQuestion > 0) { showResults(currentResultQuestion - 1); } } catch (e) { console.error("Error navigating to previous result:", e); debugLog("Failed to navigate to previous result: " + e.message); } } // Navigate to next result function showNextResult() { try { debugLog(`Navigating to next result from question ${currentResultQuestion + 1}`); if (currentResultQuestion < questions.length - 1) { showResults(currentResultQuestion + 1); } } catch (e) { console.error("Error navigating to next result:", e); debugLog("Failed to navigate to next result: " + e.message); } } // Lazy-load video function loadVideo(button, videoUrl, containerId) { try { debugLog(`Loading video for ${containerId}: ${videoUrl}`); if (!videoUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No video available</p>`; button.remove(); debugLog("No video URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <div class="video-loading"></div> <video controls class="w-full max-w-[600px] rounded-lg" preload="metadata" aria-label="Video explanation"> <source src="${videoUrl}" type="${videoUrl.endsWith('.m3u8') ? 'application/x-mpegURL' : 'video/mp4'}"> Your browser does not support the video tag. </video> `; container.classList.add('active'); button.remove(); // Initialize HLS.js for .m3u8 videos const video = container.querySelector('video'); if (videoUrl.endsWith('.m3u8') && Hls.isSupported()) { const hls = new Hls(); hls.loadSource(videoUrl); hls.attachMedia(video); hls.on(Hls.Events.ERROR, (event, data) => { console.error("HLS.js error:", data); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("HLS.js error: " + JSON.stringify(data)); }); } else if (videoUrl.endsWith('.m3u8') && video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoUrl; } // Handle video load errors video.onerror = () => { console.error("Video load error for URL:", videoUrl); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; debugLog("Video load error for URL: " + videoUrl); }; // Remove loading spinner when video is ready video.onloadedmetadata = () => { container.querySelector('.video-loading').remove(); debugLog("Video loaded successfully"); }; } catch (e) { console.error("Error loading video:", e); debugLog("Failed to load video: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading video. <a href="${videoUrl}" target="_blank" aria-label="Open video in new tab">Open video</a></p>`; } } // Lazy-load audio function loadAudio(button, audioUrl, containerId) { try { debugLog(`Loading audio for ${containerId}: ${audioUrl}`); if (!audioUrl) { const container = document.getElementById(containerId); container.innerHTML = `<p class="text-gray-500">No audio available</p>`; button.remove(); debugLog("No audio URL provided"); return; } const container = document.getElementById(containerId); container.innerHTML = ` <audio controls class="w-full max-w-[600px]" preload="metadata" aria-label="Audio explanation"> <source src="${audioUrl}" type="audio/mpeg"> Your browser does not support the audio tag. </audio> `; container.classList.add('active'); button.remove(); // Handle audio load errors const audio = container.querySelector('audio'); audio.onerror = () => { console.error("Audio load error for URL:", audioUrl); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; debugLog("Audio load error for URL: " + audioUrl); }; debugLog("Audio loaded successfully"); } catch (e) { console.error("Error loading audio:", e); debugLog("Failed to load audio: " + e.message); const container = document.getElementById(containerId); container.innerHTML = `<p class="text-red-500">Error loading audio. <a href="${audioUrl}" target="_blank" aria-label="Open audio in new tab">Open audio</a></p>`; } } // Toggle dark mode function toggleTheme() { try { debugLog("Toggling theme"); document.documentElement.classList.toggle('dark'); localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light'); debugLog("Theme toggled successfully"); } catch (e) { console.error("Error toggling theme:", e); debugLog("Failed to toggle theme: " + e.message); } } // Load theme preference function loadTheme() { try { debugLog("Loading theme preference"); const theme = localStorage.getItem('theme'); if (theme === 'dark') { document.documentElement.classList.add('dark'); } debugLog("Theme loaded successfully"); } catch (e) { console.error("Error loading theme:", e); debugLog("Failed to load theme: " + e.message); } } // Initialize on DOM content loaded window.addEventListener('DOMContentLoaded', () => { try { debugLog("DOM content loaded, initializing quiz"); loadTheme(); initQuiz(); } catch (e) { console.error("Error during DOMContentLoaded:", e); debugLog("Failed to initialize on DOMContentLoaded: " + e.message); document.getElementById('error-message').innerHTML = "Error initializing quiz. Please check the console for details or contact support."; document.getElementById('error-message').classList.remove('hidden'); } }); </script> </body> </html>" frameborder="0" width="100%" height="2000px">